В последнее время я изучаю Hibernate, основные понятия понятны для меня, но теперь у меня проблема с дизайном. Все мои конкретные классы реализуют интерфейсы, вот код: package com;Отображение полиморфизма интерфейса гибернации
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