【问题标题】:unknown enum constant javax.persistence.CascadeType.DETACH未知枚举常量 javax.persistence.CascadeType.DETACH
【发布时间】:2012-05-13 19:44:54
【问题描述】:

在我的域代码中:

@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

为什么会出现这种异常?

谢谢:)

【问题讨论】:

    标签: hibernate spring-mvc hibernate-mapping


    【解决方案1】:

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

    【讨论】:

    • 我用的是hibernate-jpa-2.0-api-1.0.0.Final.jar
    • @Sachin:如果您看到此错误,则说明您在类路径中的某处有 JPA 1.0 jar。你需要找到并消除它。
    • 我已经检查了 mvn 依赖项。找不到 JPA 1.0 jar 文件。发生此类错误还有其他原因吗?
    • @SachinJ:没有其他原因。 JPA 1.0 jar 应该在类路径中的某个位置。
    • 在类路径中找不到 JPA 1.0 jar :(
    猜你喜欢
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 2011-07-09
    • 1970-01-01
    • 2013-07-03
    相关资源
    最近更新 更多