Wis*_*ree 7 java hibernate jpa
假设我有一个名为User的类和一个类ExtendedUser,它是User的子类.使用hibernate(JPA)注释映射这两个类:
用户:
@Entity
@Table("user-table")
@Inheritance(strategy = InheritanceType.JOINED)
public class User {
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "name")
private String name;
}
Run Code Online (Sandbox Code Playgroud)
ExtendedUser:
@Entity
@Table(name = "extended-user-table")
@PrimaryKeyJoinColumn(name="id")
public class ExtendedUser extends User{
@Column(name = "username")
private String username;
@Column(name = "password")
private String password;
}
Run Code Online (Sandbox Code Playgroud)
有时需要将用户提升为ExtendedUser; 类似地,有时需要将ExtendedUser降级为用户.
第一个问题:在hibernate中有没有办法直接执行此操作?
无法找到这样的方式我试图做以下(降级的例子):
但是,这似乎在尝试保存新用户时会自动增加id.所有这一切都是在交易中完成的 - 这可能是原因吗?但是,我不想将它们带到事务之外,因为如果保存失败,则自动回滚将不起作用.
第二个问题(如果第一个问题的答案为否):我如何解决ID自动递增的问题.
提前致谢.
| 归档时间: |
|
| 查看次数: |
890 次 |
| 最近记录: |