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();