【问题标题】:How can I "move" an object from one table to another using OpenJPA?如何使用 OpenJPA 将对象从一个表“移动”到另一个表?
【发布时间】:2011-05-18 06:56:51
【问题描述】:

我有两个表,它们共享相同的定义。我通常将新对象插入其中一个表中,我们称之为 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
}

除了在数据库级别使用“删除时”触发器之外还有什么想法吗? (我只想在代码中保留这个逻辑)。

【问题讨论】:

    标签: java jpa move openjpa


    【解决方案1】:

    嗯,我想不出“一步到位”。

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

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

    【讨论】:

    • 我也有这个想法,但我希望,会有一个更……“灵活”的方法。虽然我同意这可行,但如果您有一个拥有超过 100 个属性的对象,或者就此而言,拥有一个具有多个相关对象的对象,这可能会有点乏味。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    相关资源
    最近更新 更多