JPA注解@GeneratedValue
@GeneratedValue是JPA的標(biāo)準(zhǔn)用法,
JPA提供四種標(biāo)準(zhǔn)用法,由@GeneratedValue的源代碼可以看出.
public enum GenerationType {
TABLE,
SEQUENCE,
IDENTITY,
AUTO;
}.?
TABLE:使用一個(gè)特定的數(shù)據(jù)庫表格來保存主鍵。?
SEQUENCE:根據(jù)底層數(shù)據(jù)庫的序列來生成主鍵,條件是數(shù)據(jù)庫支持序列。?
IDENTITY:主鍵由數(shù)據(jù)庫自動(dòng)生成(主要是自動(dòng)增長型)?主鍵則由數(shù)據(jù)庫自動(dòng)維護(hù),使用起來很簡單
AUTO:主鍵由程序控制。?
在指定主鍵時(shí),如果不指定主鍵生成策略,默認(rèn)為AUTO。?
mysql數(shù)據(jù)庫一般使用IDENTITY
@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "ID")private int id;?
JPA全稱Java Persistence API,是sun公司針對ORM技術(shù)提出的技術(shù)規(guī)范,用來將POJO按照標(biāo)準(zhǔn)的方式進(jìn)行持久化,很類似于JDBC規(guī)范。Hibernate最早是以O(shè)RM框架形式出現(xiàn)的,用來解決JDBC存在的問題。隨著JPA標(biāo)準(zhǔn)的發(fā)展和完善,hibernate到后來也開始支持JPA規(guī)范,并且能夠完全兼容JPA規(guī)范。也就說,hibernate是JPA標(biāo)準(zhǔn)的一個(gè)實(shí)現(xiàn),還在此基礎(chǔ)上增加了一些自己特有的功能。這就是我們常說的:JPA是hibernate的一個(gè)子集,hibernate是JPA的超集。
?
轉(zhuǎn)載于:https://www.cnblogs.com/jsersudo/p/10381789.html
總結(jié)
以上是生活随笔為你收集整理的JPA注解@GeneratedValue的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统下手把手完成无人值守安装服
- 下一篇: json.dumps()和json.lo