如何使用OpenJPA将对象从一个表“移动”到另一个表?

时间:2011-05-18 06:56:51

标签: java jpa move openjpa

我有两个共享相同定义的表。我通常将新对象插入其中一个表中,我们称之为Table1。有时,我想将一个条目从Table1移动到另一个表(Table2)。

如何使用OpenJPA框架实现这一目标?该对象明显绑定到一个表...

@Entity
@Table(name="TRACKING")
public class TrackingEntry {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

    @Column(name="LASTNAME")
    private String lastName;

    @Column(name="FIRSTNAME")
    private String firstName;

    // rest omitted
}

除了在数据库级别使用“on delete”触发器之外的任何想法? (我想在代码中保留这个逻辑)。

1 个答案:

答案 0 :(得分:1)

好吧,我想不出一个“一步到位的解决方案”。

您的实体本质上与表格相关联。因此,一种解决方案可能是定义链接到辅助表的辅助实体类。

此辅助类可以从第一个继承以确保兼容性,并且您可以提供一个复制构造函数来接收父实例,并在每次要移动记录时复制所有属性。然后,您可以删除原始实体,从原始表中删除原始记录。