我创建了一个两个实体关系一对多(一个员工有多个地址)及其双向关系,如多对一。
@Entity
@Table(name = "Employees")
@EntityListeners(AuditingEntityListener.class)
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="employee_id")
private Long id;
@NotBlank
private String name;
@NotBlank
private String designation;
@Temporal(TemporalType.TIMESTAMP)
@LastModifiedDate
private Date createdAt;
@OneToMany(mappedBy = "employee", cascade = CascadeType.ALL)
private List<Address> employee_address;
和地址实体如下
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long address_id;
@NotBlank
@Column(name = "address_street", length = 250)
private String street;
@NotBlank
@Column(name = "address_city", length = 50)
private String city;
@NotBlank
@Column(name = "address_state", length = 50)
private String state;
@NotBlank
@Column(name = "address_zipcode", length = 10)
private String zipcode;
@JsonIgnore
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "employee_id", nullable = false, referencedColumnName = "employee_id")
private Employee employee;
和 EmployeeController 保存数据如下
@RestController
public class EmployeeController {
@Autowired
EmployeeDAO employeeDAO;
@Autowired
AddressDAO addressDAO;
@PostMapping("/employees")
public void createEmployee(@Valid @RequestBody Employee emp) {
Address address = null;
List<Address> listAddresses = new ArrayList<Address>();
if (emp != null) {
Employee employee = new Employee();
employee.setDesignation(emp.getDesignation());
凤凰求蛊
森栏
相关分类