我的应用程序是具有jpa和ejb的java ee应用程序。一切正常,但我今天尝试运行它,但没有任何效果。标题中的例外是它不起作用的原因。所有实体都标有@Entity批注。我读过一些类似的主题,但我不知道如何解决它!
如果使用的是版本控制,您应该是(甚至没有远程的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中找到未列出的类。
如果列出了类,它们是否仍然存在?使用完全相同的软件包吗?
“未知实体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作为您的另一个问题。