java如何使用Hibernate映射所有这些表?
我有一个病人,有一些字段。还有一个联系人表,它有一个名为“patientId”的字段,需要存储患者ID(自动生成),还有一个仅与这两个表相关的PATIENT\u联系人表
现在,棘手的部分来了。还有三个表:联系地址、联系电话、联系电子邮件。联系人中的一行将与联系人地址、联系人电话和联系人电子邮件中的一行(且仅一行)具有相同的ID。我怎样才能让这些都发挥作用
我已经尝试了很多方法,这就是我现在所拥有的:
@Entity
@Table(name = "patient", schema = "patient")
public class PatientEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
//... more fields
@OneToOne
private ContactEmailEntity contactEmailEntity;
@OneToOne
private ContactAddressEntity contactAddressEntity;
@OneToOne
private ContactPhoneEntity contactPhoneEntity;
}
三个CONTACT_*类相似,它们看起来如下所示:
@Table(name = "contact_address", schema = "patient")
public class ContactAddressEntity {
@Id
@Column(name = "id")
private Long id;
// ... more fields
@OneToOne(cascade = {CascadeType.ALL})
@MapsId
private ContactEntity contact;
}
我的联系人类如下所示:
@Table(name = "contacto", schema = "paciente")
public class ContactEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
//... more fields
你能看到那些看起来不对劲或者可以做得更好的事情吗?每种方法我都会犯各种各样的错误。我最新的一个是:
ERROR: column patientent0_.contact_address_entity_contact_id does not exist
当尝试做一个简单的患者查找时。请,任何帮助都将不胜感激
共 (0) 个答案