gpt4 book ai didi

java - Weblogic11g - java.lang.NoSuchMethodError : javax. persistence.OneToOne.orphanRemoval()z

转载 作者:行者123 更新时间:2023-11-29 03:33:55 24 4
gpt4 key购买 nike

我知道这个问题在这里被问过很多次,但似乎没有一个解决方案对我有用。请原谅我再次问这个问题,因为我对 maven 和 hibernate 都是新手。

pom.xml 中的 hibernate 依赖

<hibernate.version>4.2.0.Final</hibernate.version>

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.version}</version>
</dependency>

这给了我以下 jar :

hibernate-entitymanager-4.2.0.Final
hibernate-core-4.2.0.Final
hibernate-validator-4.2.0.Final
hibernate-jpa-2.0-api-1.0.1.Final

我还有:

hibernate-commons-annotations-4.0.1.Final

但我不确定我是怎么得到它的。

我正在为类别 - 产品关系使用一对一关系。

@Entity
@Table(name="Products")
public class Product {
@Id
@Column(name="id")
@GeneratedValue
int productId;

@NotEmpty
@Length(max=50)
@Column(name="name")
String name;

@Column(name="category_id")
int categoryId;

@OneToOne
@ForeignKey(name="categoryId")
private Category category;

// getters and setters

}

编辑:

因为很明显 Weblogic 11g jpa jar 优先于“hibernate-jpa-2.0-api”。我应该回退到使用 jpa-1.0 的旧版本的 hibernate 还是有什么方法可以强制 weblogic 使用“hibernate-jpa-2.0-api”而不是它的 jpa jar?

最佳答案

我认为更好的问题是你的类路径中是否有任何不需要的 jar,而不是你是否缺少任何东西。出现 NoSuchMethodError 通常意味着您有一个库需要另一个库的特定版本,而它最终在运行时使用的版本不是正确的版本。在您的情况下,我会在您的类路径中查找 ejb3-persistence.jar,因为该错误似乎与 OneToOne 注释有关。 Wih hibernate,你应该从 hibernate-jpa-2.0-api-1.0.1.Final 得到这个,但我猜你也有 OneToOne 注释类文件来了来自另一个 jar 。

另外,好像其他人已经遇到过类似的问题。看看这是否有帮助:

java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z

此外,因为您似乎使用的是 Weblogic 11g,它是一个 JavaEE5 服务器,与 hibernate-jpa-2.0 jar 试图使用的 JavaEE6 不兼容。如果你要部署到 weblogic 11g,你需要找到一个与之兼容的 hibernate 版本,我认为 4.2.0 Final 不是。

Weblogic 11g and JavaEE 6

关于java - Weblogic11g - java.lang.NoSuchMethodError : javax. persistence.OneToOne.orphanRemoval()z,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com