JPA继承类型JOINED更新(更改子类型)

时间:2014-01-09 12:26:06

标签: java hibernate jpa

问题的背景是用于CRUD操作的产品管理系统。所有产品的常见产品属性相同,每种具体产品类型都有一些额外的字段。 当用户选择产品类型时,会动态加载其他字段。

我正在使用JPA并使用InheritanceType.JOINED:

进行以下继承
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class AbstractProduct { ... }

@Entity
@PrimaryKeyJoinColumn(name = "ID", referencedColumnName = "ID")
public class ProductA extends AbstractProduct { ... }

@Entity
@PrimaryKeyJoinColumn(name = "ID", referencedColumnName = "ID")
public class ProductB extends AbstractProduct { ... }

此外,我使用JpaRepositories进行CRUD操作。

它适用于CRUD操作,除非用户想要更改产品类型。如果我读过ProductA类型的对象,是否有可能使用JPA更新功能将产品类型更改为ProductB?

编辑:使用存储库保存更新时,旧条目不会更新(例如,从ProductA中删除条目,更新AbstractProduct中的条目,在ProductB中插入条目),而不是尝试插入一个新的(附加)对象。

0 个答案:

没有答案