2.4.Identifier. Identifier
Hibernate Annotations goes beyond the Java Persistence specification when defining identifiers.
2.4.Identifier.1. Generators
@org.hibernate.annotations.GenericGenerator
and @org.hibernate.annotations.GenericGenerators
allows you to define an Hibernate specific id generator.
@Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid", strategy = "uuid") public String getId() { @Id @GeneratedValue(generator="hibseq") @GenericGenerator(name="hibseq", strategy = "seqhilo", parameters = { @Parameter(name="max_lo", value = "5"), @Parameter(name="sequence", value="heybabyhey") } ) public Integer getId() {
strategy
is the short name of an Hibernate3 generator strategy or the fully qualified class name of an IdentifierGenerator
implementation. You can add some parameters through the parameters
attribute.
Contrary to their standard counterpart,
@GenericGenerator
and @GenericGenerators
can be used in package level annotations, making them application level generators (just like if they were in a JPA XML file).
@GenericGenerators( { @GenericGenerator( name="hibseq", strategy = "seqhilo", parameters = { @Parameter(name="max_lo", value = "5"), @Parameter(name="sequence", value="heybabyhey") } ), @GenericGenerator(...) } ) package org.hibernate.test.model