這個策略我已經試過了,auto和identity了,還是出錯。我想問hibernate對映檔案設定主鍵的generation=native到了jpa在**設定呢?
@generatedvalue(strategy = generationtype.auto)
@idpublic integer getid() {
return id;
jpa在spring的設定:
org.hibernate.cfg.improvednamingstrategy
true
true
update
org.hibernate.dialect.mysql5innodbdialect
true
true
org.hibernate.cache.ehcache.ehcacheregionfactory
generationtype.auto提示主鍵重複,
generationtype.identity提示沒有主鍵內容。
我看了資料庫的id屬性,的確沒有id自增的設定.....
怎麼解決?
com.mysql.jdbc.exceptions.jdbc4.mysqlintegrityconstraintviolationexception: duplicate entry '4' for key 'primary'
sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)
sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.
jpa設定自增主鍵 jpa主鍵生成策略
主鍵除了自己設定,還有很多種方法可以讓資料庫自動生成。將註解寫在實體類屬性上就可以獲得相應功能 註解 generatorvalue註解 jpa通用策略生成器 引數generationtype public enum generationtype table,特定表生成 見3 sequence,資料庫...
JPA主鍵自增設置
id generatedvalue strategy generationtype.identity private integer id auto 主鍵由程式控制,是預設選項,不設定即此項。identity 主鍵由資料庫自動生成,即採用資料庫id自增長的方式,oracle不支援這種方式。seque...
MySQL設定主鍵自增和非主鍵自增
mysql 每張表只能有1個自動增長字段,這個自動增長字段即可作為主鍵,也可以用作非主鍵使用,但是請注意將自動增長字段當做非主鍵使用時必須必須為其新增唯一索引,否則系統將會報錯。例如 將自動增長字段設定為主鍵 create table t1 id int auto increment primary...