2011-04-07 68 views
7

为什么这个例外是当我从HQL编辑器中运行查询occureorg.hibernate.HibernateException:无法实例QueryTranslatorFactory:org.hibernate.hql.classic.ClassicQueryTransactionFactory

org.hibernate.HibernateException: could not instantiate QueryTranslatorFactory: org.hibernate.hql.classic.ClassicQueryTransactionFactory 
    at org.hibernate.cfg.SettingsFactory.createQueryTranslatorFactory(SettingsFactory.java:391) 
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:222) 
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) 
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859) 
    at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:264) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:169) 
    at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:100) 
    at org.hibernate.cfg.SettingsFactory.createQueryTranslatorFactory(SettingsFactory.java:388) 
    ... 7 more 
Caused by: java.lang.ClassNotFoundException: org.hibernate.hql.classic.ClassicQueryTransactionFactory 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
    at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:262) 
    ... 13 more 

回答

0

经典的查询翻译器工厂的正确名称是org.hibernate.hql.classic.ClassicQueryTransactorFactory,在属性中使用它而不是错误的(org.hibernate.hql.classic.ClassicQueryTransactionFactory)。

0

的正确名称为

org.hibernate.hql.classic.ClassicQueryTranslactorFactory

请注意,'L'在之前的评论中缺少。

+3

Translactor?从来没有听说过这个词。你的意思是“翻译者”? – musefan 2012-01-13 12:33:42

22

我有同样的异常从休眠3移到冬眠4时,但是当我试图用

<property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property> 

改变

<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property> 

它为我工作。 我希望能帮到你。

+0

..感谢很多! – 2016-08-29 19:47:40

3

新APIS有轻微变化。 请与

org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory. 

注意替换属性值:有新的软件包叫做“内部”层次介绍。