2010-04-12 68 views
0

我得到以下異常,同時增加數據到數據庫將數據添加到數據庫:問題在使用Hibernate

org.hibernate.HibernateException:沒有返回本地生成的數據庫標識值

我使用以下代碼:

Session session = HibernateUtil.getSession(); 
Transaction tx = session.beginTransaction(); 

session.save(user); 
logger.info("Successfully data insert in database"); 
tx.commit(); 
isSaved = true; 

請讓我知道什麼是錯的。 Thankx

+0

我們將需要更多信息。您是使用註釋還是XML映射文件?我們可以看到相關的映射嗎?我們能否看到相關的數據庫模式? – 2010-04-12 06:58:46

+0

我使用HBM <冬眠映射> \t <類名= 「com.test.User」 表= 「用戶」> \t \t \t \t \t \t <發生器類= 「同一性」/> \t \t \t \t \t \t \t \t <屬性名= 「USERCODE」> \t \t \t <列名= 「user_code」/> \t \t \t \t \t \t \t \t \t \t \t \t sarah 2010-04-12 07:09:02

+0

用戶bean有userName和用戶代碼和數據庫有user_name和 user_code作爲列 – sarah 2010-04-12 07:10:08

回答

1

看起來好像數據庫不支持身份標識生成器。根據您的映射,您可能使用userName作爲ID列,這意味着您可能想要將生成器類設置爲分配爲,因爲將手動選擇用戶名(= id)(而不是由數據庫自動生成):

<hibernate-mapping> 
    <class name="com.test.User" table="user"> 
     <id name="userName" column="user_name"> 
      <generator class="assigned" /> 
     </id> 
     <property name="userCode"> 
     <column name="user_code" /> 
     </property> 
    </class> 
</hibernate-mapping> 
+0

Thankx很多工作 – sarah 2010-04-12 08:12:16