JPA @TableGenerator geteilt zwischen mehreren Entitäten

Ich habe eine 'Hund'-Entität mit einer @Id und einem @ TableGenerator

...
@TableGenerator(table = "seq", name = "dog_gen", pkColumnName = "seq_name", valueColumnName="seq_val")
@Id @GeneratedValue(strategy = GenerationType.TABLE, generator = "dog_gen")
private Long id;
...

Gibt es eine Möglichkeit, denselben Tabellengenerator (dog_gen) in einer anderen Entität wiederzuverwenden? Ich möchte die gleiche ID-Sequenz in zwei unabhängigen Entities behalten, sagen Sie

Hund = 1, Hund = 2, Hund = 3, Katze = 4, Katze = 5, Hund = 6 und so weiter ...

Beide Entities teilen keine gemeinsame Superklasse, um eine Art Vererbung mit der Eigenschaft id zu implementieren.

Wenn ich das @ hinzufü@ GeneratedValue (generator = "dog_gen") Wenn Sie die @ TableGenerator-Deklaration auf meiner cat-Entität weglassen, wird eine Exception ausgelöst, die besagt, dass der Generator beim Starten des Kontexts nicht gefunden werden kann.

Caused by: org.hibernate.AnnotationException: Unknown Id.generator: dog_gen
at org.hibernate.cfg.BinderHelper.makeIdGenerator(BinderHelper.java:413)
at org.hibernate.cfg.AnnotationBinder.bindId(AnnotationBinder.java:1795)
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1229)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:733)
at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:498)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:277) 

Antworten auf die Frage(2)

Ihre Antwort auf die Frage