Giriş
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
import javax.persistence.Enumerated;
Açıklaması şöyle.ORDINAL: Persist enumerated type property or field as an integer.@Enumerated anotasyonu EnumType.X şeklinde kullanılır. EnumType.STRINGise enum'un string değeri veri tabanına yazılır. EnumType.ORDINAL ise sayısal bir değer yazılır.
STRING: Persist enumerated type property or field as a string.
Not : JPA @Converter Anotasyonu ile custom conversion da yapılabilir
1. EnumType.ORDINAL
Örnek
Şöyle yaparız.
@Enumerated(EnumType.ORDINAL)
private Role userRole;
2. EnumType.STRINGÖrnek
Açıklaması şöyle.
Şöyle yaparız:
Açıklaması şöyle.
Remember JPA uses the name() of the enum and not the toString() even if you have overridden the toString().Elimizde şöyle bir enum olsun. Veritabanına "PRIMARY_ACCOUNT" string olarak yazılır. "Primary customer" değil.
public enum AccountRole {
EMPLOYEE_CUSTOMER("Employee customer"),
JOINTER_ACSCOUNT("Jointer customer"),
PRIMARY_ACCOUNT("Primary customer"),
TENANT_ACCOUNT("Tenant customer");
private final String text;
AccountRole(final String text) {
this.text = text;
}
@Override
public String toString() {
return text;
}
}
ÖrnekŞöyle yaparız:
@Enumerated(EnumType.STRING)
@Column(name = "LOGIC")
public BusinessLogic getLogic(){...usual getter...}
Hiç yorum yok:
Yorum Gönder