SJS*_*SJS 0 java spring hibernate
我正在使用Hibernate和Spring开发一个项目; 单个屏幕,一个bean,但有两个表.我想知道Hibernate是否可以在一次调用中更新两个 MySQL表?
如果是这样,我如何编写以下bean(模型)来更新两个表!
用户名和密码位于用户表中.用户名和启用位于权限表中.
以下是我的代码:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue
@Column(name = "userid")
private Long userId; // in user and rights tables!
@NotEmpty(message = "User name must not be blank.")
@Size(max = 20)
@Column(name = "username", nullable = false, length = 20)
private String username; // in user table
@NotEmpty(message = "Password must not be blank.")
@Size(max = 20)
@Column(name = "password", nullable = false)
private String password; // in user table
@Column(name = "enabled")
private Long enabled; // in rights table
}
Run Code Online (Sandbox Code Playgroud)
您需要使用@SecondaryTable批注,并在相应的@Column注释中指定该表的名称:
@Entity
@Table(name="users")
@SecondaryTable(name="rights", pkJoinColumns=
@PrimaryKeyJoinColumn(name="userid", referencedColumnName="userid")
)
public class User {
...
@Column(name = "enabled", table="rights")
private Long enabled; // in rights table
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3178 次 |
| 最近记录: |