この質問がここで何度も聞かれたことは知っていますが、どの解決策もうまくいかなかったようです. 私はmavenと休止状態の両方に慣れていないので、これをもう一度尋ねることを許してください。
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
しかし、どうやって手に入れたのかわかりません。
カテゴリ - 製品の関係に 1 対 1 の関係を使用しています。
@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 にフォールバックする必要がありますか、または jpa jar の代わりに「hibernate-jpa-2.0-api」を使用するように weblogic を強制する方法はありますか?