JPA实体映射

时间:2013-08-16 21:40:40

标签: java jpa

快速总结我想要实现的目标。 请提供有关实施或设计的建议:)

我有两个表:User,Image。 在UserDO中,我想保留一组所有用户的图像,以及单个图像,即用户的肖像(在我的情况下,该集将包括肖像):

public class UserDO {
   @OneToMany
   @JoinColumn(name = "imageid")
   Set<ImageDO> userimages

   // How to represent this? the foreign key is used for the above mapping
   ImageDO portrait;
   ....
}

在ImageDO中,我有一个userid作为外键来记录哪个用户上传了图像。但它没有布尔值,因为认为一个用户可以上传许多图像,但只有一个是肖像。

任何方式都可以实现这一目标?或者我是否需要维护另一个表(例如,纵向,包含“userid”,“portraitid”映射)?

谢谢!

1 个答案:

答案 0 :(得分:0)

最简单(和标准)的方法是简单地将@OneToOne注释添加到肖像中,然后将一列添加到UserDO表中,该表是ImageDO表中的外键。