网站建设资讯

NEWS

网站建设资讯

Hibernate怎么创建和配置

这篇文章主要讲解了“Hibernate怎么创建和配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate怎么创建和配置”吧!

十余年的方城网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整方城建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“方城网站设计”,“方城网站推广”以来,每个客户项目都认真落实执行。

1.获取Hibernate

既然要使用Hibernate来开发应用,那么就必须先获取Hibernate的发布包,我们可以下载自己需要的版本,我下载的是hibernate-search-4.4.0.Alpha2。

下载完成,解压后得到以下内容:

Hibernate怎么创建和配置

2.创建Hibernate项目,添加Jar包

创建一个Java Project,建好项目之后,需要添加上Hibernate运行所必须的Jar包,如果不知道哪些可以不添加就直接添加lib\required中的所有Jar包,如果清楚的知道每个包的作用就可以进行相应的删减。

Hibernate怎么创建和配置

3.创建持久化类

package events;import java.util.Date;public class Event {    private Long id;    private String title;    private Date date;    public Event() {
    }    public Long getId() {        return id;
    }    private void setId(Long id) {        this.id = id;
    }    public Date getDate() {        return date;
    }    public void setDate(Date date) {        this.date = date;
    }    public String getTitle() {        return title;
    }    public void setTitle(String title) {        this.title = title;
    }
}

注意:

(1)无参构造函数的作用是用于Hibernate通过反射机制来实例化类对象的时候。

(2)在所有的持久化实体类中都需要一个唯一的标识符属性。

(3)通常不会操作对象的标识(identity),因此它的setter方法的访问级别应该声明private。这样当对象被保存的时候,只有Hibernate可以为它分配标识符值。

4.映射文件

映射文件的作用就是告诉Hibernate应该访问哪个数据库(database)中的哪张表(table)的哪些字段(column)。

映射文件应该保存在持久类的源文件目录下,映射文件可随意地命名,但hbm.xml的后缀已成为Hibernate开发者社区的约定。

本例用到的映射文件如下:


    
        
        
            
            
        
        
        
        
        
    

5.Hibernate配置

通过配置文件将应用程序与数据库连接,配置数据库的相关属性。此外,还要添加映射文件资源,使得Hibernate能够找到映射文件,并将映射文件与实体类关联。


    
        
        com.MySQL.jdbc.Driver
        
        jdbc:mysql://localhost:3306/db
        
        root
        
        Lynn0714
        
        1
        
        org.hibernate.dialect.MySQLDialect
        
        thread
        
        org.hibernate.cache.NoCacheProvider
        
        true
        
        create
        
        
    

上图配置并不是包含所有内容

上图配置了Hibernate的SessionFactory,一个关联于特定数据库全局的工厂(factory)。如果你要使用多个数据库,就要用多个的,通常把它们放在多个配置文件中。(Hibernate如何识别是在何时使用哪个配置文件?)

6.用Ant构建

此处Ant操作全部仿照操作,不知道具体如何使用。

7.启动和辅助类

在这个环节中,需要创建一个全局的SessionFactory,通过SessionFactory来创建并打开Session,一个Session代表一个单线程的单元操作,SessionFactory则是个线程安全的全局对象,只需要被实例化一次。

package util;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtil {    private static final SessionFactory sessionFactory;    static{        try{
            sessionFactory = new Configuration().configure().buildSessionFactory();
        }catch(Throwable ex){
            System.err.println("初始化SessionFactory失败"+ex);            throw new ExceptionInInitializerError(ex);
        }
    }    public static SessionFactory getSessionFactory(){        return sessionFactory;
    }
}

8.加载并存储对象

package events;import java.util.Date;import org.hibernate.Session;import util.HibernateUtil;public class EventManager {    public static void main(String[] args) {
        EventManager mgr = new EventManager();        if (args[0].equals("store")) {
            mgr.createAndStoreEvent("My Event", new Date());
        }
        HibernateUtil.getSessionFactory().close();
    }    private void createAndStoreEvent(String title, Date theDate) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        Event theEvent = new Event();
        theEvent.setTitle(title);
        theEvent.setDate(theDate);
        session.save(theEvent);
        session.getTransaction().commit();
    }
}

按上述步骤操作完成,运行后出现下面异常:

Hibernate怎么创建和配置

出现java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。

Hibernate怎么创建和配置

出现这个错误,是因为缺少JTA的Jar包,添加上即可,由于我也不知道哪些是必须的就添加了lib\provided目录下的所有Jar包

Hibernate怎么创建和配置

修正上述两个错误后,运行成功

Hibernate怎么创建和配置

感谢各位的阅读,以上就是“Hibernate怎么创建和配置”的内容了,经过本文的学习后,相信大家对Hibernate怎么创建和配置这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站名称:Hibernate怎么创建和配置
网页网址:http://cdweb.net/article/jsjcoh.html