Java Springboot数据用户关系设置
我想知道如何设置以下关系: 该关系与用户(实体)相关,其中每个用户可以来自多个组织中的一个。第二个实体用于记录每个用户的组织特定详细信息(实体) 每个组织都有自己的实体Java Springboot数据用户关系设置,java,hibernate,jpa,spring-boot,spring-data-jpa,Java,Hibernate,Jpa,Spring Boot,Spring Data Jpa,我想知道如何设置以下关系: 该关系与用户(实体)相关,其中每个用户可以来自多个组织中的一个。第二个实体用于记录每个用户的组织特定详细信息(实体) 每个组织都有自己的实体 @Entity public class User @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long Id private Name name 然后,每个组织都有几个实体。每个用户需要在其中一个实体中精确地映射到一条记录: @Entity
@Entity
public class User
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long Id
private Name name
然后,每个组织都有几个实体。每个用户需要在其中一个实体中精确地映射到一条记录:
@Entity
public class EducationUserDetails
@Id
private Long Id
@MapsId
private User user;
private String teacherRegistrationNo
private String teacherSchool
@Entity
public class DoctorUserDetails
@Id
private Long Id
@MapsId
private User user;
private String medicalCouncilNo
private String doctorHospital
如何设置/建模此关系?请参阅。它需要一个@ManyToOne
或@OneToOne
关系
如果希望使用相同的主键进行一对一映射,则可以使用@PrimaryKeyJoinColumn
@PrimaryKeyJoinColumn
@OneToOne
private User user;
示例请参见:仍不知道映射关联,请澄清。每个用户都有一条关于某个组织详细信息的记录。关于我正在尝试做的事情。我有来自不同组织的用户,但无论用户来自哪个组织,特定领域的用户都很常见,即每个用户无论来自何处,都有用户名、电子邮件、姓氏和名字。然后,根据组织机构的不同,还需要捕获某些其他字段,如医生注册或教师学校等。我不明白对于一个教师用户来说,例如,它如何知道与教育表(相对于任何其他组织表)存在关系-除非在用户上有一个组织属性,然后在后端有一些if逻辑?我一直在关注Vlads博客,但这不是纯粹的一对一,因为它有时更像一对一。所以你想在用户和教育之间始终有一对一的映射吗?为了更好地理解,最好有一个实体图,其中也显示双向和单向绑定。您始终可以定义从用户到教育的一对一映射。目前我不明白你在为什么问题挣扎。你最好能提供你已经拥有的,并且描述wgat不起作用