Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA实体映射_Java_Jpa - Fatal编程技术网

Java JPA实体映射

Java JPA实体映射,java,jpa,Java,Jpa,快速总结我正在努力实现的目标。 请给出实施或设计建议:) 我有两个表:用户表、图像表。 在UserDO中,我希望保留一组所有用户的图像,以及作为用户肖像的单个图像(在我的示例中,该组将包括肖像): 公共类UserDO{ @独身癖 @JoinColumn(name=“imageid”) 设置用户图像 //如何表示?外键用于上述映射 ImageDO肖像; .... } 在ImageDO中,我有一个userid作为外键来记录哪个用户上传了图像。但它没有布尔值,因为一个用户可以上传很多图像,但只有一个

快速总结我正在努力实现的目标。 请给出实施或设计建议:)

我有两个表:用户表、图像表。 在UserDO中,我希望保留一组所有用户的图像,以及作为用户肖像的单个图像(在我的示例中,该组将包括肖像):

公共类UserDO{
@独身癖
@JoinColumn(name=“imageid”)
设置用户图像
//如何表示?外键用于上述映射
ImageDO肖像;
....
}
在ImageDO中,我有一个userid作为外键来记录哪个用户上传了图像。但它没有布尔值,因为一个用户可以上传很多图像,但只有一个是肖像

有什么办法可以做到这一点?或者我需要维护另一个表(比如,肖像,包含“userid”、“肖像id”映射)

谢谢

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

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;
   ....
}