Hibernate常见问题

时间:2017-1-19 15:12

1、java.lang.NoClassDefFoundError: javax/persistence/EntityListeners
Caused by: java.lang.ClassNotFoundException: javax.persistence.EntityListeners
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 29 more

解决
Hibernate需要jpa支持,导入jpa的jar包(hibernate-jpa-2.0-api-1.0.1.Final.jar)即可。


2、org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.wyc.hibernate3.demo2.Order

at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:243)

持久态对象关联了一个瞬时态对象。


2、org.hibernate.hql.ast.QuerySyntaxException: loginuser is not mapped [from loginuser]

代码如下:
 
List<User> list=session.createQuery("from loginuser").list();
 
而出现这个错误的根本原因是hql语法里面是POJO对象而不是table.所以改成这样就可以了:
 
List<User> list=session.createQuery("from User").list();
原文地址:https://www.cnblogs.com/wwwwyc/p/6375472.html