Teh*_*ppo 7 java hibernate hibernate.cfg.xml hibernate-annotations hibernate-4.x
我正在尝试使用仅带注释的Hibernate 4和一个hibernate.cfg.xml
文件.我已经制作了自己的注释,并使用反射将其添加到配置中.我能够以这种方式使用Hibernate 4,但我的配置是使用不推荐的方法构建的.
final Configuration configuration = new Configuration();
final Reflections reflections = new Reflections(Item.class.getPackage().getName());
final Set<Class<?>> classes = reflections.getTypesAnnotatedWith(Entity.class);
for (final Class<?> clazz : classes) {
configuration.addAnnotatedClass(clazz);
}
return configuration.configure().buildSessionFactory();
Run Code Online (Sandbox Code Playgroud)
(不推荐的代码:) buildSessionFactory();
.
即使是hibernate 4文档也显示以这种方式构建配置.
如果我尝试使用新方法(buildSessionFactory(ServiceRegistry)
我没有得到相同的结果,似乎有很多不必要的代码完全按照不推荐使用的方法做的那样.但是,我不想继续使用这种风格,因为我不喜欢使用已弃用的代码.
我的问题是:如何以上述方式从配置文件中正确配置Hibernate 4?我似乎只是造成错误并面临不必要的困难.
修改后的代码如下所示: -
final Configuration configuration = new Configuration();
final Reflections reflections = new Reflections(Item.class.getPackage().getName());
final Set<Class<?>> classes = reflections.getTypesAnnotatedWith(Entity.class);
for (final Class<?> clazz : classes) {
configuration.addAnnotatedClass(clazz);
}
ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings
(configuration.getProperties()).buildServiceRegistry();
return configuration.buildSessionFactory(serviceRegistry);
Run Code Online (Sandbox Code Playgroud)
您可以查看以下链接以获取信息:HHH-6183和HHH-2578.
归档时间: |
|
查看次数: |
6276 次 |
最近记录: |