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文檔 –