请问一下,org.hibernate.cfg.Configuration这个类中为什么没有setListener()方法,网上加载Hibernate,

都是有这个方法,我用的架包

你用的是hibernate4.1版本,在hibernate4.1之后,结构做了比较大的调整,抽象出了Service这个概念,所以,listener从以前的Configuration对象中被抽取了出来,变成了一个服务:EventListenerRegistry,所有的事件监听器都由这个服务产生,所以在hibernate4.1之后,你要注册监听器,要么还是在hibernate.cfg.xml里面配置,要么就在启动的时候:

ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(
config.getProperties()).buildServiceRegistry();
EventListenerRegistry listenerRegistry=sr.getService(EventListenerRegistry.class);
listenerRegistry.appendListeners(EventType.REMOVE, MyDeleteEvenetListener.class);
SessionFactory sf = config.buildSessionFactory(sr);

先得到EventListenerRegitry服务,然后注册自己的监听器。希望对你有用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-29

你的hibernate版本有点问题吧,你可以换一下

请问一下,org.hibernate.cfg.Configuration这个类中为什么没有setListen...
所以,listener从以前的Configuration对象中被抽取了出来,变成了一个服务:EventListenerRegistry,所有的事件监听器都由这个服务产生,所以在hibernate4.1之后,你要注册监听器,要么还是在hibernate.cfg.xml里面配置,

...bean class [org.hibernate.cfg.Configurati
Could not instantiate bean class [org.hibernate.cfg.Configuration]: Constructor threw exception; nested exception is java.lang.NoSuchFieldError: INSTANCE 这里面就这句话比较有用。不能初始化hibernate的Confiuration对象。检查一下spring中hibernate的配置对不对。hibernate的包引用对不对。

...org.hibernate.cfg.Configuration.addAnnotatedClass
我最近也在看那个视频,出现的错误和你的一样,都是“java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.addAnnotatedClass” 我的spring版本是4.0,hibernate版本是3.3.2,最后把spring版本换成和马士兵视频中的版本一致之后问题就解决了。spring2.5.6,网上搜一下应该能搜到。

org.hibernate.exception.SQLGrammarException: Could not execute...
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory<\/property> <mapping resource="com\/bjsxt\/hibernate\/User.hbm.xml"\/> 去掉试试,我没Oracle数据库,不能试,但是我觉得,你那样配置了应该是打开JDBC的东西,而在你save时用的是Hibernate的方法,JDBC...

org.hibernate.DuplicateMappingException: Duplicate class\/ent...
你这个错误是由于你在hibernate的映射文件中添加了两次对com.hxm.po.Address对象的映射。你检查一下hibernate.cfg.xml中是不是有两个这个类的映射文件。

java.lang.NoClassDefFoundError: org\/hibernate\/cfg\/QuerySecondPass...
这是没有发现类异常.如果你确定有这个类的话,把工程重新布署一下..tomcat重启一下应该就没有问题了.补:那就是你的SessionFactory 的包引的问题啊.应该是两个包的,你换另一个试试

hibernate在配置文件中声明的表如果数据库中没有这张表会自动新建一个...
会,但是只建表不建库。当引入hibernate时,可以创建数据库表的配置文件。可以根据表的配置文件自动在数据库建表。(数据库要预先建立好,因为hibernate只会建表,不会建库)在配置文件 hibernate.cfg.cml 中加入参数 ,配置相关数据源参数和pojo文件。update 表示自动根据model对象来更新表结构,启动hibernate...

配hibernate的时候,老报:org.hibernate.exception.DataException: Coul...
1.因为Hibernate Tools(或者Eclipse本身的Database Explorer)生成*.hbn.xml工具中包含有catalog="***"(*表示数据库名称)这样的属性,将该属性删除就可以了 2.估计是你的列名里面有关键字的原因吧,命名列的时候不要单独使用date,ID...这种关键字 ...

...InitializerError at org.hibernate.cfg.Configuration
所以你由Configuration得到的Session就是个null。你首先看看你的hibernate的配置文件是不是叫hibernate.cfg.xml如果叫这个那你就要把它放到src目录里。这是容器默认的读取这个文件的方式,如果你的文件不叫这个,那好。在读取文件的时候把这个文件的所在标好。否则还是找不到。推荐第一种方式!

在java中Configuration cfg = new Configuration().configure();代码中...
import org.hibernate.cfg.Configuration;public class listUser { public static void main(String[] args) { Configuration cfg = new Configuration().configure();SessionFactory sf = cfg.buildSessionFactory();Session session = sf.openSession();String hql = "from UserInfo";List userList = ...

相似回答