2.4.Identifier. Identifier

Hibernate Annotations は、ID を定義する場合に Java Persistence 仕様よりも対象とする範囲が広くなります。

2.4.Identifier.1. ジェネレータ

@org.hibernate.annotations.GenericGenerator@org.hibernate.annotations.GenericGenerators を使用すると、Hibernate 固有の ID ジェネレータを定義できます。
@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 は Hibernate3 ジェネレータ方針または IdentifierGenerator 実装の完全修飾クラス名の短い名前です。parameters 属性を使用していくつかのパラメータを追加できます。
標準的なものとは異なり、@GenericGenerator@GenericGenerators はパッケージレベルアノテーションで使用でき、アプリケーションレベルジェネレータを作成します (JPA XML ファイルに含まれる場合と同様)。
@GenericGenerators(
    {
    @GenericGenerator(
        name="hibseq",
        strategy = "seqhilo",
        parameters = {
            @Parameter(name="max_lo", value = "5"),
            @Parameter(name="sequence", value="heybabyhey")
        }
     ),
     @GenericGenerator(...)
     }
)
package org.hibernate.test.model