提问人:shiningStar 提问时间:8/7/2023 最后编辑:philipxyshiningStar 更新时间:8/10/2023 访问量:59
我的Spring Boot实体是否规范化,如果不是,我该怎么做?
Are my Spring Boot entities normalised if not How can I do so?
问:
我有一个表与另一个表有 oneToMany 关系
public class UserDetails {
@Id
@Column(nullable = false)
private String userId;
@OneToMany(targetEntity = Books.class,
cascade = CascadeType.ALL,
orphanRemoval = true,
fetch = FetchType.EAGER)
@JoinColumn(name = "userId",
referencedColumnName = "userId",
updatable = true,
insertable = true)
private List<Books> books = new ArrayList<>();
}
我的 Books 实体在哪里
public class Books {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private Long id;
@Column(nullable = false)
private String bookName;
@Column(nullable = false)
private Double bookPrice;
}
我的实体:
我可以为不同的用户为同一本书提供不同的价格。
我的实体是否正常化?
如果没有,我可以做出哪些改变?
答:
0赞
Andrei Lisa
8/7/2023
#1
你的方法看起来不错,但我有一个建议给你,不要使用更多细节,请阅读下一篇文章,如何避免它,以及为什么使用它不是一个好的想法。FetchType.Eager
Hibernate 6 指南阅读 eager fetch 类型
评论
0赞
Andrei Lisa
8/7/2023
看起来不错,但就你而言,多对多更好。
0赞
Andrei Lisa
8/7/2023
因为,一个用户可以拥有多本书,一本书也可以拥有多个用户
上一个:领域关系与嵌入对象
下一个:数据库表规范化 (3NF)
评论