我正在尝试开发一个管理书籍(图书馆)的应用程序。 我正在使用hibernate生成关系数据库。 我有这些课程:User,Adherent,Admin
@entity
@Table(name="users")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="TYPE_USER",discriminatorType=DiscriminatorTyp)
class User{
@Id
private int UserId;
private String name;
private String email
}
@Entity
@DiscriminatorValue("ADH")
public class Adherent extends User{
private int solde;
private int penalised;
@OneToMany(mappedBy="adherent")
private List<Ouvrage> ouvrages;
}
@Entity
@Table(name="ouvrages")
public class Ouvrage {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int idOuvrage;
private String ISBN;
private String Titre;
private boolean reservable;
private boolean dispo;
@ManyToOne
@JoinColumn(name="proprietaire")
private Adherent proprietaire;
@OneToOne(mappedBy="ouvrage")
private Emprunt emrunt;
}
@Entity
@DiscriminatorValue("ADM")
public class Admin extends User{
private String notifications;
private String messages;
}
当我测试时我得到了这个错误
在
答案 0 :(得分:0)
尝试定义
@JoinColumn(name="proprietaire")
private Adherent proprietaire;
作为标准用户
@JoinColumn(name="proprietaire")
private User proprietaire;
如果数据库中存在的数据没有损坏,并且总是将其设置为Adherent类型,则实数类型将始终为Adherent。
答案 1 :(得分:0)
谢谢,我解决了这个问题,我已经在我的贴片实体中输入了hibernate.annotation而不是java.persistance