我用下面的Hibernate映射文件 休眠發電機機類不增加
<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>
,這裏是我的代碼中插入一個新的記錄我的user_id列
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.爲什麼hibernate沒有每次插入記錄時都增加user_id的值?
這個作品,如果我重複同一個JVM中的刀片。如果我重新啓動服務器,則增量值會重新設置爲1。我注意到不只是這樣,但是如果我插入讓我們說3個記錄ina單個JVM,當我重新啓動服務器並插入一條記錄,所有3個以前的記錄都消失了,只有新的記錄存在。冬眠非常奇怪 –