导航

在annotation中却会有ERROR: Duplicate entry

Posted on 2018-04-05 21:53  孙土土  阅读(771)  评论(0编辑  收藏  举报

第一个是hibernate基本的配置hibernate.cfg.xml —>*.hbm.xml...

Hibernate: insert into user (id, name, password, say) values (null, ?, ?, ?)

第二个是hibernate的annotation的基本基本配置就是hibernate.cfg.xml —>实体类中加注解@entity...

Hibernate: insert into Teacher (name, password, say, id) values (?, ?, ?, ?)

然后执行第一遍 两个例子都顺利通过,当执行第二遍时候

第一个例子没有问题,第二个例子出现了ERROR: Duplicate entry '1' for key 'PRIMARY'问题。

问题的大概意思是说:数据库的主键id 重复了。

因为id我设成主键并且自增长,所以我把id的传值取消掉。问题得到了解决。

可我不知道 为什么第一个类子传重复id并且却没问题,在annotation中却会有ERROR: Duplicate entry '1' for key 'PRIMARY'问题存在?

看了看hibernate生成的sql语句我们发现 第一个例子id传值是null,而第二个例子id是传的 ?。

问题应该就出现在 id的配置上,第一个例子*.hbm.xml我们用了generator class="native"。

native由Hibernate根据底层数据库自行判断采用identity、hilo、sequence其中一种作为主键生成方式。

所以第一个例子就不存在主键问题,第二个例子的id让它变空就解决问题了。

其他方法,第二个例子的@id,是否再添加注解我就不会了。

http://www.woyaoce.cn/news/243731.html
http://www.woyaoce.cn/member/T133376/Train_101489.html
http://www.woyaoce.cn/member/T133376/Train_101490.html
http://www.woyaoce.cn/member/T133376/Train_101491.html
http://www.woyaoce.cn/member/T133376/Train_101492.html
http://www.woyaoce.cn/member/T133376/Train_101493.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6005.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6004.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6003.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6002.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6001.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6000.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6015.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6014.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6013.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6012.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6011.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6010.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6009.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6008.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6007.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6006.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6025.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6023.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6022.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6021.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6020.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6019.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6024.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6018.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6017.html
http://www.woyaoce.cn/member/T101201/ServiceExample_6016.html