1.Hibernate配置错误 javax/persistence/Cacheable
Hibernate出现如下错误时
Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/Cacheable
是因为缺少了hibernate-distribution-3.6.0-Final\lib\jpa目录下的hibernate-jpa-2.0-api-1.0.0.Fianl.jar,因为该jar包是JPA2.0规范中的东西
2.做Hibernate ID生成策略JUnit测试时出现
org.hibernate.HibernateException: identifier of an instance of com.hibernate.model.Person was altered from 1 to 0
错误时,可能是因为实体类中的set方法漏写了this关键字,如:
public int getId() {
return id;
}
public void setId(int id) {
id = id;
}
应该改为:
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
3.java.lang.NoSuchMethodError: javax.persistence.OneToOne.orphanRemoval()Z
一个简单的一对一联系 两个类 其中一个用了@OnetoOne 注解
原因是hibernate的jar包里面加了那个ejb3的jar包与JPA包冲突 ejb删掉就可以了 |