Hibernate – přiřazení sekvence u atributu rodiče

Následující příklad popisuje, jak lze pomocí hibernate anotací nadefinovat vlastní sekvenci pro libovolný atribut předka.

Třída EntityRoot slouží jako předek pro všechny entity, které perzistují atribut id.

Stěžejní jsou u této třídy anotace @MappedSuperclass, @Id a @GeneratedValue. Tím je zajištěno ukládání atributu id pomocí sekvence. V této třídě se neřeší, jaká sekvence to bude.

Potomek třídy EntityRoot určí sekvenci následovně:

 

Anotací @SequenceGenerator se definuje konkrétní sekvence, která bude použitá pro generování atributu id (vazba přes SequenceGenerator.name). Anotací @AttributeOverride dáváme na vědomí, že přepisujeme chování atributu id.

Leave a Reply

Your email address will not be published. Required fields are marked *