Мой persistence.xml
имеет 2 единицы персистентности. У каждого из них есть несколько <class>
элементы.
Я думал, что мы должны указать все классы, связанные с определенной единицей персистентности. Но я случайно забыл указывать элемент класса для нового объекта, но программа хорошо работала даже без него. Затем я удалил все элементы класса, и все хорошо работало. Так, почему нам нужен он?
пример кода:
<persistence-unit name="JiraManager" transaction-type="RESOURCE_LOCAL">
<class>chartdemo.model.domain.Category</class>
</persistence-unit>
Если вы не указали классы в файле persistence.xml
, ваш диспетчер persistence Manager будет управлять всеми сущностными классами в том месте, где существует persistence.xml файл (jar-файл, каталог классов).
Классы списка позволяют вам гибко выбирать сущности и группировать их в единицах родства. Вы можете более точно управлять тем, что будет состоять из заданного имени сохраняемой единицы - вы также можете включать в список сущности из других банок и т.д.
Таким образом, в большинстве основных случаев листинг классов не нужен, и большинство импеменций JPA обнаруживают все сущности для вас.
.Некоторые провайдеры персистентности (Hibernate, например) сканируют путь класса сущностей.
.