spring-boot - 一对多关系的 JPA 设计模型
问题描述
我有一个这样的数据库设计:tb_address( id, address )
并且tb_store( id, name, address_id )
两者tb_user( id, name, address_id )
都是address_id
tb_address 的引用键。我想使用spring-data-jpa
. 我已经通过使用工具Intellij
生成数据库脚本来创建模型一,但我没有得到我想要的。我得到的是这样的tb_address( id, address, store_id, user_id )
,我不想要那样。所以请帮助我。
解决方案
Models
由于or的设计,您似乎没有得到想要的东西Entities
。我想这就是你要找的:
@Entity
@Table(name = "td_address")
public class Address {
@Id
private Long id;
private String address;
//getters and setters
}
@Entity
@Table(name = "tb_store")
public class Store {
@Id
private Long id;
private String name;
@ManyToOne
@JoinColumn(name = "address_id")
private Address address;
//getters and setters
}
@Entity
@Table(name = "tb_user")
public class User {
@Id
private Long id;
private String name;
@ManyToOne
@JoinColumn(name = "address_id")
private Address address;
//getters and setters
}
推荐阅读
- firebase - 由于 FirebaseInstanceId() 已弃用,如何重写以下代码?
- r - 尝试在 Linux 上安装 httpuv 包时出错
- c++ - 在 VSCode 中选择 C++ 编译器
- python - “from gremlin_python.process.graph_traversal import __”在 Python 中做了什么?
- java - 多个 thenReturn 如何在 Mockito 中工作?
- python - 如何获得可变 EMA 指标(熊猫、金融)?
- html - 如何在手机上更改字体大小?
- c - 运行测试时在我的 C 程序中出现分段错误
- javascript - Api 休息链接和 javascript 弹出窗口
- python - 查找列表中的最大数量