3.4.Identifier. Identifier
Hibernate Annotations は、ID を定義する場合に Java Persistence 仕様よりも対象とする範囲が広くなります。
3.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