2012-05-04 129 views
2

在我的域代码:未知枚举常量javax.persistence.CascadeType.DETACH

@ManyToMany(mappedBy = "xyz", cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.DETACH}) 
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE) 
private Set<xyzGroup> groups = new HashSet<xyzGroup>(); 

我得到以下情况例外,当我试图建立我的项目(使用maven包)。

in class file (xyz.class) : unknown enum constant javax.persistence.CascadeType.DETACH 

为什么会出现这种类型的异常?

谢谢:)

回答

3

CascadeType.DETACH在JPA 2.0中的溶液。确保你的Hibernate版本是3.5或更高版本,并且你的类路径中没有JPA 1.0 jar(运行mvn dependency:tree -Dverbose来检查它)。

+1

我用了hibernate-jpa-2.0-api-1.0.0.Final.jar –

+0

@Sachin:如果你看到这个错误,你在classpath的某个地方有JPA 1.0 jar。你需要找到并消除它。 – axtavt

+0

我检查了mvn的依赖关系。找不到JPA 1.0 jar文件。发生这种类型的错误还有其他原因吗? –