Hibernate 4中StandardServiceRegistry的重要性是什么? [英] What is the importance of StandardServiceRegistry in Hibernate 4?

查看:118
本文介绍了Hibernate 4中StandardServiceRegistry的重要性是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从Hibernate 4开始 Configuration.buildSessionFactory()被替换为 Configuration.buildSessionFactory(ServiceRegistry)。所以我们必须像这样创建会话工厂:

  private static SessionFactory sessionFactory = null; 
private static StandardServiceRegistry reg;

private static final String TAG = new String(HIBERNATE_UTIL:);

public HibernateUtil(){

try {
Configuration cfg = new Configuration()。configure(/ com / dorm / service / hibernate.cfg.xml );
StandardServiceRegistryBuilder reg_builder = new StandardServiceRegistryBuilder();
reg_builder.applySettings(cfg.getProperties());
reg = reg_builder.build();

sessionFactory = cfg.buildSessionFactory(reg);
System.out.println(TAG +创建会话工厂);

catch(HibernateException he){
System.out.println(TAG +创建会话工厂时出错);
he.printStackTrace();
}
}

我想知道,



StandardServiceRegistry 做什么?



传递对象的重要性 StandardServiceRegistry 位于 configuration.buildSessionFactory()方法中。



感谢您提供答案。

编辑:我引用了jibernate的hibernate,但无法理解这个概念。

解决方案

Hibernate 4现在有一个用于注册内部服务(连接提供者,事务管理)的插件机制。 / p>

因此,您可以定制如何检索服务(例如OSGI),因此使用此选项可以实现最大的会话工厂可定制性。


From Hibernate 4 onwards Configuration.buildSessionFactory() was replaced by Configuration.buildSessionFactory(ServiceRegistry). So we have to create session factory like this:

private static SessionFactory sessionFactory = null;
private static StandardServiceRegistry reg;

private static final String TAG = new String("HIBERNATE_UTIL: ");

public HibernateUtil() {

    try {
        Configuration cfg = new Configuration().configure("/com/dorm/service/hibernate.cfg.xml");
        StandardServiceRegistryBuilder reg_builder = new StandardServiceRegistryBuilder();
        reg_builder.applySettings(cfg.getProperties());
        reg = reg_builder.build();

        sessionFactory = cfg.buildSessionFactory(reg);
        System.out.println(TAG+"Session Factory created");

    }catch(HibernateException he) {
        System.out.println(TAG+"Error in creating Session Factory");
        he.printStackTrace();
    }
}

I want to know,

What does StandardServiceRegistry do?

What is the importance of passing an object of StandardServiceRegistry in configuration.buildSessionFactory() method.

Thanks in advance for answers.

EDIT: I have referred javadocs of hibernate, but couldn't understand this concept.

解决方案

Hibernate 4 has now a plug-in mechanism for registering internal services (connection provider, transaction management).

Therefore you could customize how the services are going to be retrieved (e.g. OSGI), so having this option allows for maximum session factory customizability.

这篇关于Hibernate 4中StandardServiceRegistry的重要性是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆