Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.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 如何创建用户与许多喜爱的事物的关系?_Java_Spring_Jpa - Fatal编程技术网

Java 如何创建用户与许多喜爱的事物的关系?

Java 如何创建用户与许多喜爱的事物的关系?,java,spring,jpa,Java,Spring,Jpa,我需要创建用户最喜欢的东西,一个用户有很多最喜欢的东西,我的问题是,这种关系哪种方式更好 我的第一个想法是: @Column(name = "favorite") Set<Favorite> favorite; 第二个想法更好 映射到新的表收藏夹将使您的代码/db设计更具可读性,因为收藏夹的所有属性都很容易看到 第一个选项没有真正意义,因为您将把整个列表作为每行的一个属性来持久化->这太精简了 此外,在用户类中,映射应该是@OneToMany而不是@ManyToOne您需要

我需要创建用户最喜欢的东西,一个用户有很多最喜欢的东西,我的问题是,这种关系哪种方式更好

我的第一个想法是:

@Column(name = "favorite")
    Set<Favorite> favorite;

第二个想法更好

映射到新的表收藏夹将使您的代码/db设计更具可读性,因为收藏夹的所有属性都很容易看到

第一个选项没有真正意义,因为您将把整个列表作为每行的一个属性来持久化->这太精简了


此外,在用户类中,映射应该是@OneToMany而不是@ManyToOne

您需要提供更多的上下文。也许共享一个模式,您计划如何查询和显示此数据。这不仅仅是关于如何存储此字段,而是您必须考虑它对于读/写和维护角度是否有意义。@na-98我对编程没有太多经验,我想知道我的两个想法和
最爱的优点不起作用;它需要是
收藏
的集合,例如
集合
列表
。这是朝着正确方向迈出的一步;您需要一个
Set
字段,用
@OneToMany
映射(或者可能是
@ManyToMany
,具体取决于您希望如何表示多个用户共有的收藏夹)进行注释。
@ManyToOne( fetch = FetchType.EAGER )
Favorite favorites;