我在向数据库添加数据时遇到以下异常:
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 :(得分: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>