我有2个表user
和user_password
,我想加载User
实体,以便在password
表中输入时填充实体中的user_password
字段存在。
表:
user
--------
id
name
user_password
--------
user_id
password
实体:
@Entity
public class User implements Serializable {
@Id
@GeneratedValue( strategy = IDENTITY )
private Long id;
@Column( name = "name" )
private String name;
// @ElementCollection
@JoinTable( name = "user_password",
joinColumns = @JoinColumn( name = "user_id" ) )
@Column( name = "password" )
private String password;
}
当我使用@ElementCollection
并将password
字段从字符串更改为列表时,它会起作用,但user_id
中的user_password
列也是主键,这意味着永远不会超过1个密码。
答案 0 :(得分:1)
你可以试试这样的事情
@Entity
@SecondaryTable(name="user_password",
pkJoinColumns=@PrimaryKeyJoinColumn(name="user_id"))
public class User implements Serializable {
...
@Column(table = "user_password", name = "password" )
private String password;
...
}