【发布时间】:2021-07-25 05:55:49
【问题描述】:
我正在尝试创建几个与同一个父级链接的子级。
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "USER")
public class User implements Serializable {
@Id
@Column(name = "ID_USER")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idUser;
@Column
private String email;
@Entity
@Table(name = "PRODUCT_OWNER")
@PrimaryKeyJoinColumn(name = "ID_PRODUCT_OWNER")
public class ProductOwner extends User{
}
@Entity
@Table(name = "SCRUM_MASTER")
@PrimaryKeyJoinColumn(name = "ID_SCRUM_MASTER")
public class ScrumMaster extends User{
}
@Entity
@PrimaryKeyJoinColumn(name = "ID_DEVELOPER")
@Table(name = "DEVELOPER")
public class Developer extends User{
}
如何创建具有相同用户 ID 的开发人员和 ScrumMaster?
dev = new Developer();
devRegistro.setIdMiembro(new Long("1"));
devRegistro.setEmail("user@email.com");
po = new ProducOwner();
po.setIdMiembro(new Long("1"));
po.setEmail("user@email.com");
developerService.saveOrUpdate(dev);
productOwnerService.saveOrUpdate(po);
失败是因为在第二个事务中已经存在 ID=1 的用户。
我在互联网上看到的所有示例都不能是两个孩子的一部分,例如动物(猫或狗)、车辆(汽车或摩托车)。
【问题讨论】:
-
显然不能。如果你打电话给
em.find(User.class, 1L),你希望得到什么?
标签: java spring jpa spring-data-jpa spring-data