hibernate @version 和 ManyToOne Mapping 之间的关系是什么。
假设我有两个表部门和员工。这里 Deparment 是主表,而 Employee 是明细表。在Employee表中,departmentID作为外键被引用。
这是我的课
Public class Department {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long ID;
@Version
private Long version;
//Getters and Setters
}
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long ID;
@Version
private Long version;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "departmentID" )
private Department department;
}
Run Code Online (Sandbox Code Playgroud)
而且,Spring 处理会话。因此,假设在一页中,特定部门被提取并存储在 HTTP 会话中。
现在在另一个页面中,我正在尝试执行以下操作
Employee emp = new Employee();
emp.setName('Test')
emp.setDepartment(dept) // already stored in the HTTP session variable
service.save(emp)
Run Code Online (Sandbox Code Playgroud)
现在我收到以下异常
org.springframework.dao.InvalidDataAccessApiUsageException: …Run Code Online (Sandbox Code Playgroud)