我的应用是一个带有jpa和ejb的java ee应用程序。一切都很完美但我今天试图运行它没有任何作用。标题中的例外是它不起作用的原因。所有实体都标有@Entity注释。我读了一些类似的主题,但我无法理解如何解决它!
答案 0 :(得分:1)
如果您正在使用版本控制,应该是(甚至git没有遥控器),那么只需将“一切正常”的版本与今天的版本进行比较
如果没有更多信息,我猜你有一个列出的类(在persistence.xml或orm.xml中)不再存在或已经重构到另一个包。
以下三项内容可能会帮助您追踪它。
<强> 1。打开JPA提供程序的日志记录。
对于EclipseLink,它将是:<property name="eclipselink.logging.level" value="FINEST" />
<强> 2。检查标有@Entity
。
以下列表中没有的任何字段都必须包含@Entity
或@Embeddable
注释。 (注意:枚举字段必须说明其持久性,例如@Enumerated(EnumType.STRING)
)
(来源:objectdb)
第3。检查您的persistence.xml
你有<exclude-unlisted-classes>true</exclude-unlisted-classes>
吗?
如果是,则将其更改为false
,如果可行,则只需在IDE中找到未列出的类。
如果列出了类,它们是否仍然存在?使用完全相同的包裹?
答案 1 :(得分:0)
“未知实体bean类”
当未正确加载实体时,会出现此消息。 某些Eclipselink版本(如2.7.1)具有一些错误,这些错误已修复为较新的版本(如2.7.5)。
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.7.5</version>
</dependency>
将this link视为另一个问题,例如您的问题。