java - 如何使用 OpenJPA 将对象从一个表 "move"转移到另一个表?

标签 java jpa move openjpa

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

如何使用 OpenJPA 框架实现此目的?该对象显然绑定(bind)到一张表...

@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
}

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

最佳答案

嗯,我想不出“一步解决方案”。

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

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

关于java - 如何使用 OpenJPA 将对象从一个表 "move"转移到另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6040969/

相关文章:

java - 数组元素具有空字段

java - android "use $ instead of ."生成无法解析符号

Java - JPA - @Version 注释

Java 接口(interface)和继承与多态性

java - 当 FetchType 为 LAZY 时获取嵌套对象

java - 在子级中插入新记录的多对多映射问题(JPA)

c++ - 为什么不复制一个由单个 shared_ptr 组成的类

c++ - Boost python 看不到内存归智能指针所有

macos - Bash:遍历文本文件中列出的文件并 move 它们

JavaFX 图形 "blurred"或消除锯齿? (没有使用效果)