JPA实现可扩展性 - 使用实体关系进行映射与使用ID进行映射(int,longs)

时间:2012-12-13 14:59:25

标签: database-design jpa

为了在关系数据库中实现更好的可伸缩性,您是否认为有时最好通过使用ID集合来描述它们来避免引用键约束(通过JPA的ORM注释公开)。

例如,两个实体之间的下一个关系

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(
    name = "ContactGroup_User", 
    joinColumns = @JoinColumn(name = COLUMN_NAME_GROUP_PK), 
    inverseJoinColumns = @JoinColumn(name = COLUMN_NAME_USER_PK)
)
private List<User> users;

也可以描述:

private List<Long> userIds;

这在某一天是为了扩展您的(例如垂直缩放)数据库而没有引用键和约束来阻止您以某种方式使您成为现实。并且当需要用户的数据时,可以使用关联的JPA查询来完成此操作。

所有相关评论都很有用!

谢谢, 西蒙

0 个答案:

没有答案