使用hibernate将数据添加到数据库中的问题

时间:2010-04-12 06:50:40

标签: java 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

1 个答案:

答案 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>