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