2011-05-18 47 views
1

我有两个表,共享相同的定义。我通常将新对象插入其中一个表中,我们称之为Table1。不时,我想将表1中的一个条目移到另一个表(表2)。如何使用OpenJPA将对象从一个表格移动到另一个表格?

如何使用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

我也有这个想法,但我希望,会有更多...“灵活”的方法。虽然我同意这可能会起作用,但如果您的对象拥有> 100个属性,或者就此而言,拥有包含多个相关对象的对象,可能会有点乏味。 – 2011-05-18 21:51:19

相关问题