Почему мы должны указать класс в <единице персистентности> элемент?

Мой persistence.xml имеет 2 единицы персистентности. У каждого из них есть несколько <class> элементы.

Я думал, что мы должны указать все классы, связанные с определенной единицей персистентности. Но я случайно забыл указывать элемент класса для нового объекта, но программа хорошо работала даже без него. Затем я удалил все элементы класса, и все хорошо работало. Так, почему нам нужен он?

пример кода:

<persistence-unit name="JiraManager" transaction-type="RESOURCE_LOCAL">
    <class>chartdemo.model.domain.Category</class>
</persistence-unit>
6
задан Roman 4 January 2010 в 13:49
поделиться

2 ответа

Если вы не указали классы в файле persistence.xml, ваш диспетчер persistence Manager будет управлять всеми сущностными классами в том месте, где существует persistence.xml файл (jar-файл, каталог классов).

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

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

.
7
ответ дан 10 December 2019 в 00:39
поделиться

Некоторые провайдеры персистентности (Hibernate, например) сканируют путь класса сущностей.

.
3
ответ дан 10 December 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: