数据库设计,最好的方式保存配置为一个组织

问题描述 投票:0回答:1

在我的应用我有这样的组织和用户。每天用户都属于一个组织实体。我想要实现基于组织设置,用户双因素身份验证IP(我将节省IP地址范围),则它和Geolocation(我会保存,的cityName,纬度,经度,和半径)。什么是保存这些设置的最佳方式一个组织。我的想法是创建一个实体TwoFactorSettings和它IpConfigs和Geolcation为不同的实体来存储。

有没有更好的解决方案,或者更通用结构,其可以在这种情况下帮助吗?

@Entity
public class TwoFactorSettings{

  private int id;

  private String createdDate;

  private String createdBy;

  @OneToOne
  private IpConfigs ipConfigs;

  @OneToOne
  private Geolcation geoLocation;


  @OneToOne
  Organisation organisation;
}
database jpa entity-relationship-model
1个回答
0
投票

由于每个用户都属于一个组织,你可以创建与组织实体的用户一比一的关系。然后创建一个组织及其设置(ipConfigs和Geolocation)之间的关系实体

 @Entity
 public class User {

  @OneToOne(targetEntity=Organization.class)
  @JoinColumn(name="organization_id")
  private Organization organization;

}



@Entity
public class Organization {

  @OneToOne(targetEntity=IpConfigs.class)
  @JoinColumn(name="ipconfig_id")
  private IpConfigs ipConfigs;

  @OneToOne(targetEntity=Geolcation.class)
  @JoinColumn(name="geolocation_id")
  private Geolcation geoLocation;

}
© www.soinside.com 2019 - 2024. All rights reserved.