我们看看利用 Hibernate Annotations 如何做,只要三个类 不再需要 hbm.xml配置文件:
还要把用到的两个jar文件 放入的类路径中. 具体如何做,请参考 Hibernate Annotations 中文文档.HibernateUtil.java 也就是 Hibernate文档中推荐的工具类,Person.java 一个持久化的类, Test.java 测试用的类.都在test.hibernate.annotation 包中. 每个类的代码如下:
- package test.hibernate.annotation;
- import org.hibernate.HibernateException;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.AnnotationConfiguration;
- import org.hibernate.cfg.Configuration;
- public class HibernateUtil {
- public static final SessionFactory sessionFactory;
- static {
- try {
- sessionFactory = new AnnotationConfiguration()
- //注意: 建立 SessionFactory于前面的不同
- .addPackage("test.hibernate.annotation")
- .addAnnotatedClass(Person.class)
- .configure()
- .buildSessionFactory();
- //new Configuration().configure().buildSessionFactory();
- }
- catch (HibernateException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- throw new ExceptionInInitializerError(e);
- }
- }
- public static final ThreadLocal<Session> session = new ThreadLocal<Session>();
- public static Session currentSession() throws HibernateException {
- Session s = session.get();
- if(s == null) {
- s = sessionFactory.openSession();
- session.set(s);
- }
- return s;
- }
- public static void closeSession() throws HibernateException {
- Session s = session.get();
- if(s != null) {
- s.close();
- }
- session.set(null);
- }
- }
不需要了 hbm.xml 映射文件, 是不是简单了一些 .给人认为简化了一些不是主要目的.主要是可以了解一下 EJB3 的持久化机制,提高一下开发效率才是重要的.
好了.Hibernate Annotations的例子就完了
【编辑推荐】