JPA-смешивание классов сущностей и не-сущностей - PullRequest
0 голосов
/ 09 марта 2011

тема может вводить в заблуждение.по сути, у меня есть 3 "сущности" с отношениями между ними.только один из объектов должен быть постоянным (между перезапусками сервера).я все еще хочу функциональность БД для непостоянных сущностей ... например, запросы.

Каков правильный шаблон для обработки этого?

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

Еще одна мысль состояла в том, чтобы сохранить все постоянным, но стереть непостоянные таблицы при перезагрузке системы.

?спасибо.

Ответы [ 2 ]

1 голос
/ 10 марта 2011

Вы можете иметь два постоянных юнита.Один два - дисковая база данных, а другой - база данных в памяти.

Отношение должно быть временным или, возможно, хранить внешний ключ для A и B. Или просто не иметь отношения междуво-вторых, просто выполните запрос, чтобы найти A или B, когда это необходимо, поскольку отношение в постоянном объекте, которое не сохраняется, кажется странным.

0 голосов
/ 09 марта 2011

На самом деле это не вопрос JPA. Это применимо к любому механизму сохранения, который вы используете.

Если я правильно прочитал ваш вопрос, две непостоянные сущности могут быть просто POJO, а в приложении JPA они не будут жить ни в одной единице постоянства.

Вы не описываете отношения, так что это немного догадка. Если постоянная сущность состоит из двух других, у вас может быть что-то вроде:

@Entity
@Table(name = "TABLE_NAME")
public class PersistingEntity implements Serializable {
    @Id
    @Column(name = "ID")
    private Long id;

    ...

    @Transient
    A a = new A();

    @Transient
    B b = new B();

    ...
}

где A и B - непостоянные объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...