【发布时间】:2012-10-13 05:02:41
【问题描述】:
在我正在构建的示例应用程序中,我几乎没有 JPA 注释实体类,并且几乎所有实体类都在持久性单元中指定,由 JPA 提供者管理。
对于那些被注释但不包含在persistence.xml中的实体:
- 实体注解有什么用?
- 它们是否仍映射到数据库中的表?
- 由于它们不由提供者管理,我如何使用这些实体来持久化数据?
感谢任何答案以澄清我的理解。
【问题讨论】:
标签: java jpa persistence entity
在我正在构建的示例应用程序中,我几乎没有 JPA 注释实体类,并且几乎所有实体类都在持久性单元中指定,由 JPA 提供者管理。
对于那些被注释但不包含在persistence.xml中的实体:
感谢任何答案以澄清我的理解。
【问题讨论】:
标签: java jpa persistence entity
JPA 将在持久性管理设置中包含任何带有 @Entity 注释的类。如果使用注解,则不需要persistence.xml。
干杯,
【讨论】:
Exception in thread "main" java.lang.IllegalArgumentException: NamedQuery of name: Article.findByArticleid not found.
persistence.xml 中有一个命名查询,使用@NamedQuery 注释将其移动到@Entity。一般来说,如果您希望不使用 persistence.xml 中的任何内容,都应该将其转换为基于注释的配置。
<persistence-unit> 中添加<exclude-unlisted-classes>false</exclude-unlisted-classes> 元素后起作用
JPA 自动扫描带有 @Entity 注释的类并包含它们。
【讨论】: