首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate 4.1.1的第一个事例HelloWorld

2012-08-17 
Hibernate 4.1.1的第一个例子HelloWorldHibernate 4.0与之前的3.X版本改进很很多,下面先将改动的地方说一

Hibernate 4.1.1的第一个例子HelloWorld

Hibernate 4.0与之前的3.X版本改进很很多,下面先将改动的地方说一下。

1.数据库方言设置

<property name=”dialect”>org.hibernate.dialect.MySQL5Dialect</property>

在3.3版本中连接MySQL数据库只需要指明MySQLDialect即可。在4.1版本中可以指出MySQL5Dialect

2.buildSessionFactory

4.1版本中buildSessionFactory()已经被buildSessionFactory(ServiceRegistry ServiceRegistry)取代

解决办法:

Configuration cfg = new Configuration();

cfg.configure();
ServiceRegistry serviceRegistry =new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();

SessionFactory sf = cfg.configure().buildSessionFactory(serviceRegistry);

3.annotation

org.hibernate.cfg.AnnotationConfiguration;

Deprecated. All functionality has been moved to Configuration

这个注解读取配置的class已经废弃,现在读取配置不需要特别注明是注解,直接用Configuration cfg = new Configuration();就可以读取注解。

Hibernate4.1版本中推荐使用annotation配置,所以在引进jar包时把requested里面的包全部引进来就已经包含了annotation必须包了



由于Hibernate推荐使用注解,所以基于hbm的配置文件我们就不写了,而且对于新的server读取配置文件的方法建立session对于配置文件的读取貌似也有问题,我测试了好几个都没办法解决,所以这里先只介绍一下基于注解的方法了。


首先是配置文件,这个在hibernate的mannual里面可以找到

package com.bird.test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import com.bird.model.Teacher;public class TeacherTest {/** * @param args */public static void main(String[] args) {Teacher t = new Teacher();t.setId(1);t.setName("t1");t.setTitle("中级");Configuration cfg = new Configuration();cfg.configure();//读取配置文件ServiceRegistry serviceRegistry =new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();SessionFactory factory = cfg.configure().buildSessionFactory(serviceRegistry);Session session = factory.openSession();session.beginTransaction();session.save(t);session.getTransaction().commit();session.close();factory.close();}}

这样基于最新的hibernate4.1.1的helloworld就OK了

热点排行