我在Mysql中有2张表,一张是user
,一张是userRoles
,都是项目中已有的表。当前外键是 login_id
(varchar)。
我可以在这两个表中创建@ManyToOne
映射吗,我得到错误:
getInt() can not parse to 'userLoginName'.
表格:
用户:
user_id int(11) login_name varchar(50) password varchar(50) status varchar(1)
用户角色:
user_role_id int(11) login_name varchar(50) #fk user_role_name varchaar(100)
如果没有其他解决方案,是否有任何方法可以使用 String 进行映射?由于现有项目具有相同的数据库,因此我无法更改其数据类型。我正在使用 Hibernate 创建支持项目。
最佳答案
我假设您想通过 login_name
字段加入。
试试这个:
用户角色实体
@ManyToOne
@JoinColumn(name = "login_name", referencedColumnName = "login_name")
private User user;
用户实体
@OneToMany(mappedBy = "user")
private Set<UserRole> roles;
关于java - @OneToMany 映射的 Hibernate 用户字符串字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42345560/