2012-05-04 2 views
2

: 내 프로젝트를 빌드하려고 할 때 나는 예외를 다음 얻을알 수없는 enum 정수 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>(); 

(받는다는 패키지를 사용).

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

왜 이러한 유형의 예외가 발생합니까?

감사합니다 :)

답변

3

CascadeType.DETACH는 JPA 2.0에서 추가되었다. 당신의 Hibernate 버전이 3.5 이상이고 classpath에 JPA 1.0 jar가 없다는 것을 확인하십시오 (확인을 위해 mvn dependency:tree -Dverbose을 실행하십시오).

+1

최대 절전 모드 - jpa-2.0-api-1.0.0.Final.jar를 사용했습니다. –

+0

@Sachin :이 오류가 표시되면 클래스 경로 어딘가에 JPA 1.0 jar가 있습니다. 당신은 그것을 찾아서 제거해야합니다. – axtavt

+0

mvn 종속성을 확인했습니다. JPA 1.0 jar 파일이 없습니다. 이 유형의 오류가 발생하는 또 다른 이유가 있습니까? –

관련 문제