Ale*_*kov 6 spring hibernate jpa
我在MySQL中有两个简单的表
User ---(one-to-many)--- Expense
Run Code Online (Sandbox Code Playgroud)
我正在使用Spring JPA生成这两个实体。费用包含“ user_id”外键字段,该字段引用用户表中的“ id”字段。
我在请求中使用JSON填充表格
User
{"id":1, "username":"user"}
Expense
{
"id":1,
"user_id":1, <--- this value is not null in MySQL
"expense":"expense"
}
Run Code Online (Sandbox Code Playgroud)
调用API时,我已经具有user_id值,并且我不想传递整个对象。
有没有办法告诉Spring这是引用“用户”表中“ id”列的INTEGER FOREIGN KEY?
我在网上找到的所有示例仅显示了如何通过在JSON中传递整个“ User”对象来实现。
我当前的实现:
@Entity
public class User{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private int id;
private String username;
}
@Entity
public class Car{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private int id;
@ManyToOne
private User user_id;
private String expense;
}
Run Code Online (Sandbox Code Playgroud)
您不应在请求中传输 JPA 实体。
使用您想要执行的功能所需的 ID 创建 POJOS,并将 Java 实体映射到服务层。
例如,对于查询,您只需实例化实体并设置 ID,如果您需要更多字段,您可以通过 id 执行 find() 并通过直接访问对象获取其余属性
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |