自增Id在数据库中还是蛮常用的,以前没有用Hibernate的时候都是写方法得到表中最后一条记录的Id,然后就是一系列的操作,我想Hibernate应该也是类似的原理.
配置一句话,将Hibernate映射文件id那一项修改一个属性<generator class="increment" />
贴下我的测试代码:
package test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.bean.hib.MessageContent;
public class HibernateIdTest {
public static void main(String[] args)
{
MessageContent messageContent = new MessageContent();
messageContent.setMessageContent("lovehui");
SessionFactory factory =
new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
//do some work
System.out.println(session.save(messageContent).toString());
tx.commit();
}
catch (Exception e) {
if (tx!=null) tx.rollback();
e.printStackTrace();
}
finally {
session.close();
}
}
}
设置了自增Id之后就不用给那一项显式赋值了,还有一点,要得到那个Id值根本不用任何操作,它自动返回的就是那个Id值~~~