我的persistence.xml有2个持久化单元。它们中的每个都有几个<class>元素。
我认为我们必须指定与某个持久化单元相关的所有类。但是我意外地忘记了为新实体指定class-element,但即使没有它,程序也运行得很好。然后我删除了所有的class-element,一切都运行得很好。那么,我们为什么需要它呢?
示例代码:
<persistence-unit name="JiraManager" transaction-type="RESOURCE_LOCAL">
<class>chartdemo.model.domain.Category</class>
</persistence-unit>发布于 2010-01-04 20:56:27
如果您没有在persistence.xml文件中指定类,那么持久性管理器将管理persistence.xml文件所在位置(jar文件、类目录)中的所有实体类。
列出类使您可以灵活地选择实体并将它们分组到持久性单元中。您可以更好地控制给定的持久单元名称的组成--您还可以包含来自其他jars的实体,等等。
因此,在大多数基本情况下,列出类是不必要的,并且大多数JPA实现都会为您发现所有实体。
发布于 2010-01-04 20:41:57
一些持久性提供程序(例如Hibernate)扫描类路径中的实体类。
https://stackoverflow.com/questions/1999307
复制相似问题