【发布时间】:2012-01-04 00:38:45
【问题描述】:
我正在使用以下休眠映射文件
<class name="com.abdus.hibernate.UserTable" table="tbl_users">
<meta attribute="class-description">
This class contains the user details.
</meta>
<id name="userId" type="long" column="userId">
<generator class="native" />
</id>
<property name="firstName" type="string" column="firstName" not-null="true" />
<property name="lastName" type="string" column="lastName" not-null="true" />
<property name="emailId" type="string" column="emailId" not-null="true" />
<property name="password" type="string" column="password" not-null="true" />
</class>
这是我插入新记录的代码
public Long add(UserDomain userDomain) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
Long userId = null;
try {
transaction = session.beginTransaction();
UserTable userTable = new UserTable();
userTable.setFirstName(userDomain.getFirstName());
userTable.setLastName(userDomain.getLastName());
userTable.setEmailId(userDomain.getEmailId());
userTable.setPassword(userDomain.getPassword());
userId = (Long) session.save(userTable);
System.out.println("userId returned is " + userId);
transaction.commit();
userTable.toString();
} catch (Exception e) {
transaction.rollback();
e.printStackTrace();
} finally {
session.close();
}
return userId;
}
但是我看到的是每次我插入一条记录时,它总是插入一个 user_id 为 1。这意味着数据库中总是只有一条 user_id 为 1 的记录。为什么休眠每次我都不会增加 user_id 的值插入记录?
【问题讨论】:
标签: hibernate class generator native