Как я могу "переместить" объект из одной таблицы в другую, используя OpenJPA? - PullRequest
1 голос
/ 18 мая 2011

У меня есть две таблицы, которые имеют одинаковое определение. Я обычно вставляю новые объекты в одну из этих таблиц, назовем это Table1. Время от времени я хочу переместить одну запись из таблицы 1 в другую таблицу (таблица 2).

Как я могу добиться этого с помощью OpenJPA Framework? Объект четко привязан к одной таблице ...

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

Есть ли какие-либо идеи, кроме использования триггера «при удалении» на уровне базы данных? (Я хотел бы держать эту логику только в коде).

1 Ответ

1 голос
/ 18 мая 2011

Ну, я не могу придумать «одношаговое решение».

Ваши сущности по своей сути связаны с таблицей. Таким образом, одним из решений может быть определение вторичного класса сущностей, связанного с вашей вторичной таблицей.

Этот вторичный класс может наследовать от первого класса для обеспечения совместимости, и вы можете предоставить конструктор копирования, который получает экземпляр родительского объекта и копирует все атрибуты каждый раз, когда вы хотите переместить запись. Затем вы можете удалить исходную запись из исходной таблицы, удалив исходную сущность.

...