亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

測試保存時,報錯a different object with the same identifier value was already associated with the session

然后我自己百度,有人說用merge()方法就可以解決,然而我使用之后又有心得錯誤。

INFO: HHH000232: Schema update complete

Hibernate:?

? ? select

? ? ? ? max(GID)?

? ? from

? ? ? ? gread

Hibernate:?

? ? select

? ? ? ? students0_.STUID as STUID1_0_0_,

? ? ? ? students0_.STUNAME as STUNAME2_0_0_,

? ? ? ? students0_.STUADDR as STUADDR3_0_0_,

? ? ? ? students0_.STUPHONE as STUPHONE4_0_0_?

? ? from

? ? ? ? STUDENTS students0_?

? ? where

? ? ? ? students0_.STUID=?

Hibernate:?

? ? insert?

? ? into

? ? ? ? gread

? ? ? ? (GNAME, GDESC, GID)?

? ? values

? ? ? ? (?, ?, ?)

Hibernate:?

? ? insert?

? ? into

? ? ? ? STUDENTS

? ? ? ? (STUNAME, STUADDR, STUPHONE, STUID)?

? ? values

? ? ? ? (?, ?, ?, ?)

Hibernate:?

? ? update

? ? ? ? STUDENTS?

? ? set

? ? ? ? STUNAME=?,

? ? ? ? STUADDR=?,

? ? ? ? STUPHONE=??

? ? where

? ? ? ? STUID=?

Exception in thread "main" org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:81)

at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:73)

at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:59)

at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3224)

at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3126)

at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3456)

at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:140)

at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)

at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:369)

at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:287)

at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:339)

at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)

at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1234)

at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404)

at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)

at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)

at com.py4g.test.Test.add(Test.java:33)

at com.py4g.test.Test.main(Test.java:12)


正在回答

2 回答

你看看是不是沒在hbm.xml文件那里把主鍵設置成自動增長型

1 回復 有任何疑惑可以回復我~

你先cfg.xml那里看看<property name="hbm2ddl.auto">update</property>這句,可能是update和create沒用清的鍋,可以重新來先create吧數據加進去然后改成update來測試,或者一直用create,可能是這里出了問題

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Hibernate初探之一對多映射
  • 參與學習       42163    人
  • 解答問題       310    個

Hibernate中一對多關聯映射配置,以及cascade和inverse屬性作用

進入課程

測試保存時,報錯a different object with the same identifier value was already associated with the session

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號