我知道这个问题在这里被问了很多次,但似乎没有一个解决方案对我有用。请原谅我再次问这个问题,因为我对 maven 和 hibernate 都是新手。
pom.xml 中的休眠依赖项
<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>
这给了我以下罐子:
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 的旧版本的休眠,还是有办法强制 weblogic 使用“hibernate-jpa-2.0-api”而不是它的 jpa jar?