#java #hibernate #jpa
#java #спящий режим #jpa
Вопрос:
@Entity
public class MyEntity {
@Id
@Column()
private String prKey;
//....
}
какой тип данных можно использовать для создания переменной первичного ключа в Hibernate / JPA?
Ответ №1:
Согласно документации hibernate:
Простые идентификаторы сопоставляются с одним базовым атрибутом и обозначаются с помощью
javax.persistence.Id
аннотации.В соответствии с JPA в качестве типов атрибутов идентификаторов следует использовать только следующие типы:
- любой примитивный тип Java
- любой тип примитивной оболочки
- java.lang.Строка
- java.util.Дата (TemporalType#ДАТА)
- java.sql.Date
- java.математика.BigDecimal
- java.математика.Большой интегратор
Любые типы, используемые для атрибутов идентификаторов за пределами этого списка, не будут переносимыми.
Спящий режим также поддерживается java.util.UUID
в качестве идентификатора.
Ответ №2:
Вы можете использовать примитивы Java или примитивные оболочки для определения вашего типа идентификатора. Если у вас нет каких-либо особых требований, таких как составные ключи и т. Д… самое простое решение — использовать Long
в качестве ключа.
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;