私は最近Hibernateを学んでいますが、基本的な概念はわかりますが、今は設計上の問題があります。すべての私の具体的なクラスは、インターフェイスを実装し、ここにコードです: パッケージcom;Hibernateインタフェースの多型マッピング
import javax.persistence.Entity;
public interface Person {
public void setName(String name);
public String getName();
public void setId(Integer id);
public Integer getId();
public void setWeapon(Weapon weapon);
public Weapon getWeapon();
}
`` ``
package com;
import javax.persistence.Entity;
public interface Weapon {
public void setSharpness(Integer sharpness);
public Integer getSharpness();
public void setId(Integer id);
public Integer getId();
}
`` ``
package com;
import javax.persistence.*;
@Entity
@Table(name = "person_inf")
public class PersonImpl implements Person{
@[email protected](strategy = GenerationType.IDENTITY)
@Column(name = "person_id")
private Integer id;
@Column(name = "person_name")
private String name;
@OneToOne(targetEntity = Weapon.class)
@JoinColumn(name = "weapon_id",referencedColumnName = "weapon_id")
private Weapon weapon;
setters and getters omitted
}
`` `` パッケージコム。
import javax.persistence.*;
@Entity
@Table(name = "weapon_inf")
public class WeaponImpl implements Weapon {
@[email protected](strategy = GenerationType.IDENTITY)
@Column(name = "weapon_id")
private Integer id;
@Column(name = "weapon_sharpness")
private Integer sharpness;
setters and getters omitted
}
私は休止プログラムを(人のインスタンスを保存)しようとすると、それは
org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.PersonImpl.weapon references an unknown entity: com.Weapon
をスローするにはこの問題を解決するためのソリューションや注釈はありますか?
はありがとうございます。それは修正されました – user2716189