在UserInfo这边配置manyToOne:
@ManyToOne(optional=false,fetch=FetchType.LAZY)
@JoinColumn(name="department_id")
private UserInfo muser =new UserInfo();在部门这边配置oneToMany
@OneToMany(fetch=FetchType.LAZY)
@JoinColumn(name="department_id")注意数据库中UserInfo这边要存department_id,原因是ORM映射,你的department就是对应department_id
我没在IDE中测试,有可能有点小问题,但是配置就是这样的了。
@ManyToOne(optional=false,fetch=FetchType.LAZY)
@JoinColumn(name="department_id")
private UserInfo muser =new UserInfo();在部门这边配置oneToMany
@OneToMany(fetch=FetchType.LAZY)
@JoinColumn(name="department_id")注意数据库中UserInfo这边要存department_id,原因是ORM映射,你的department就是对应department_id
我没在IDE中测试,有可能有点小问题,但是配置就是这样的了。
我按照你说的配置,出现了这个的错误:
nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: com.tarena.oa.entity.Department column: departmentId (should be mapped with insert="false" update="false")
需要怎么解决..
UserInfo类里面:
@OneToOne(mappedBy="userInfo")
private Department department;Department类里面:
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name="departmentId")
private UserInfo userInfo;这种情况就会出现我拿到的员工List,第一个userInfo.departmentId是1,第二个userInfo.departmentId是2,也就是说:员工引用部门的外键列变成了员工类的userId,不和userInfo.departmentId对应
UserInfo类里面:
@OneToOne(mappedBy="userInfo")
private Department department;
Department类里面:
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name="departmentId")
private UserInfo userInfo;这种情况就会出现我拿到的员工List,第一个userInfo.departmentId是1,第二个userInfo.departmentId是2,也就是说:员工引用部门的外键列变成了员工类的userId,不和userInfo.departmentId对应一对一 好像没必要配置 joincolumn
UserInfo类里面:
@OneToOne(mappedBy="userInfo")
private Department department;
Department类里面:
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name="departmentId")
private UserInfo userInfo;这种情况就会出现我拿到的员工List,第一个userInfo.departmentId是1,第二个userInfo.departmentId是2,也就是说:员工引用部门的外键列变成了员工类的userId,不和userInfo.departmentId对应一对一 好像没必要配置 joincolumn不用joincolumn它怎么才能知道我这个类中哪个是外键来着