Giriş
Şu satırı dahil ederiz.
UUIDHexGenerator Sınıfı yazısına bakabilirsiniz.
SequenceStyleGenerator
Şu satırı dahil ederiz.
import org.hibernate.annotations.GenericGenerator;
@GeneratedValue JPA anotasyonu generator alanına değer atanarak kullanılırsa bu anotasyon işe yarar. Açıklaması şöyle@GenericGenerator is a hibernate annotation used to denote a custom generator, which can be a class or shortcut to a generator supplied by Hibernate.Hibernate bazı generator'leri şu isimle tanımlar
static {
GENERATORS.put("uuid", UUIDHexGenerator.class); // "deprecated" for new use
GENERATORS.put("hilo", TableHiLoGenerator.class); // removed in Hibernate 5
GENERATORS.put("assigned", Assigned.class);
GENERATORS.put("identity", IdentityGenerator.class);
GENERATORS.put("select", SelectGenerator.class);
GENERATORS.put("sequence", SequenceGenerator.class);
GENERATORS.put("seqhilo", SequenceHiLoGenerator.class);
GENERATORS.put("increment", IncrementGenerator.class);
GENERATORS.put("foreign", ForeignGenerator.class);
GENERATORS.put("guid", GUIDGenerator.class);
GENERATORS.put("uuid.hex", UUIDHexGenerator.class); // uuid.hex is deprecated
GENERATORS.put("sequence-identity", SequenceIdentityGenerator.class);
}
Şu generator'leri sağlar.
register("uuid2", UUIDGenerator.class);
register("enhanced-sequence", SequenceStyleGenerator.class);
register("enhanced-table", TableGenerator.class);
hilo
Örnek
Şöyle yaparız
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hilo")
@GenericGenerator(name = "hilo",
strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters = {
@Parameter(name = "sequence_name", value = "hilo_sequence"),
@Parameter(name = "initial_value", value = "1"),
@Parameter(name = "increment_size", value = "100"),
@Parameter(name = "optimizer", value = "hilo")
}
)
private Long id;
uuid Generator - Kullanmayın
SequenceStyleGenerator
SequenceStyleGenerator yazısına bakabilirsiniz.
name Alanı
Örnek - increment
Şöyle yaparız.
@Id
@GeneratedValue(generator="increment")
@GenericGenerator(name="increment", strategy = "increment")
Long id;
Örnek - sequenceŞöyle yaparız.
@Id
@GenericGenerator(name="honeySequence", strategy = "sequence",
parameters = {
@Parameter(name="sequence", value="HONEY_SEQ") }
)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="honeySequence")
private int Id;
Örnek - uuid2Şöyle yaparız.
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "uuid2")
@Column(name = "id",nullable = false, updatable=false)
@Type(type="uuid-char")
private UUID id;
Örnek - oid
Şöyle yaparız.
native değerini alabilir.
Örnek
Şöyle yaparız.
@Id
@GenericGenerator(name = "oid", strategy = "com.foo.OurIDGenerator")
@GeneratedValue(generator = "oid")
protected Long id;
strategy Alanınative değerini alabilir.
Örnek
Şöyle yaparız.
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator="gen")
@GenericGenerator(name = "gen", strategy = "native")
@Column(name = "id", nullable = false)
private Long id;
Hiç yorum yok:
Yorum Gönder