java - 使用 JpaRepository SpringBoot 在两个类之间进行映射
问题描述
好吧,我有一个类 Service 和一个类 Employee
Service.java
import lombok.Data;
import javax.persistence.*;
@Data
@Table(name = "services")
@Entity
public class ServiceResource {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String date;
private String longitude;
private String latitude;
@ManyToOne
@JoinColumn(name="employee_id")
private EmployeeResource employee;
}
Employee.java
import lombok.Data;
import javax.persistence.*;
@Data
@Table(name = "employees")
@Entity
public class EmployeeResource {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String longitude;
private String latitude;
}
现在我想构建我的应用程序,服务和员工之间的映射是用 JPA 完成的。这甚至可能吗?怎么做?
解决方案
将此添加到您的 EmployeeResource 实体:
@OneToMany(mappedBy = "employee", cascade = CascadeType.ALL)
private List<ServiceResource> serviceList;
并在 ServiceResource 中,像这样修改连接列:
@ManyToOne
@JoinColumn(name="employee_id", referencedColumnName = "id")
private EmployeeResource employee;
推荐阅读
- computer-vision - “R-CNN 变体中使用的 BB 回归算法”与“YOLO 中的 BB”定位技术有什么区别?
- mysql - 每周每天每小时的登录次数?
- java - 如何将 cookie 添加到 Undertow 的 ClientRequest?
- bash - 使用 bash 脚本删除特定的行集
- python - 如何将 DataFrame 列的非空条目组合成新列?
- javascript - 使用 intro.js 时几乎看不到 D3 工具提示
- celery - 如何向用户显示预定的 cron - Celery 调度程序?
- flutter - 如何从推送通知导航到 BottomNavigationBar 上的特定选项卡?
- javascript - 如何使用css在顶部导航栏上添加后退按钮?
- html - 我可以在 Spotfire X 桌面上禁用 HTML Sanitation 吗?