我有 2 张 table 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 个密码。
最佳答案
你可以尝试这样的事情
@Entity
@SecondaryTable(name="user_password",
pkJoinColumns=@PrimaryKeyJoinColumn(name="user_id"))
public class User implements Serializable {
...
@Column(table = "user_password", name = "password" )
private String password;
...
}
关于java - 如何将一对一的基本元素加入到实体中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28236425/