0
我有两个简单的表:Users和User_Roles。 在两个表我有一个字段email
,我想从UserEntity负载User_Roles,查询应该是:JPA-实体映射中的重复列@OneToOne
SELECT *
FROM Users u, User_Roles ur
WHERE u.email = ur.email;
当我尝试“联系”电子邮件字段我得到的错误“中映射重复列实体:用户实体栏:电子邮件“。
我已经尝试添加任何种类的组合(的mappedBy,refColumn等),但错误的是即使是同一...
用户
@Entity
@Table(name = "users")
public class UserEntity implements Serializable {
private static final long serialVersionUID = 1L;
private long id;
private String email;
private UserRolesEntity roles;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Basic
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@OneToOne
@JoinColumn(name = "email")
public UserRolesEntity getRoles() {
return roles;
}
public void setRoles(UserRolesEntity roles) {
this.roles = roles;
}
}
User_Roles
@Entity
@Table(name = "user_roles")
public class UserRolesEntity {
private long id;
private String email;
private String role;
@Id
@Column(name = "user_role_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Basic
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Basic
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
}
你有一个1-1的关系,所以NE在UserRolesEntity类中编辑FK。您不能将STRING字段用作ForeignKey,以指定具有LONG类型标识的内容 –
我怀疑这样的事情....我没有使用FK注释之前......你能告诉我我将如何修改UserRolesEntity?接下来,我会研究你的未来解决方案...非常感谢... – Mistre83
修改?您从其他课程中删除@JoinColumn(name =“email”)。 1-1关系在任何JPA文档 –