我的应用程序是一个带有 jpa 和 ejb 的 java ee 应用程序。一切都很完美,但我今天尝试运行它,但没有任何效果。标题中的异常(exception)是它不起作用的原因。所有实体都标有 @Entity 注释。我读了一些类似的主题,但我不明白如何解决它!
最佳答案
如果您正在使用版本控制,正如您应该使用的(甚至 git 没有 Remote ),那么只需将“一切正常”的版本与今天的版本进行比较即可。
如果没有更多信息,我猜您列出的类(在 persistence.xml 或 orm.xml 中)不再存在或已被重构为不同的包。
以下三件事可能会帮助您找到它。
<强>1。打开 JPA 提供程序的日志记录。
对于 EclipseLink 它将是:<property name="eclipselink.logging.level" value="FINEST" />
<强>2。检查标有 @Entity
的类的字段.
任何不在以下列表中的字段都必须有 @Entity
或@Embeddable
注解。 (注意:枚举字段必须说明它们如何持久化,例如 @Enumerated(EnumType.STRING)
)
- 基本类型:boolean、byte、short、char、int、long、float 和 double。
- java.lang 包中的等效包装类:
- boolean 值、字节、短整型、字符、整数、长整型、浮点型和 double 型。
- java.math.BigInteger、java.math.BigDecimal。
- java.lang.String。
- java.util.Date、java.util.Calendar、
- java.sql.Date、java.sql.Time、java.sql.Timestamp。
(来源:objectdb)
<强>3。检查你的 persistence.xml
你有<exclude-unlisted-classes>true</exclude-unlisted-classes>
吗? ?
如果是这样则将其更改为 false
如果有效,那么只需在 IDE 中找到未列出的类即可。
如果列出了类,它们是否都仍然存在?使用完全相同的包?
关于java - 未知实体bean类: null,请验证该类是否已使用@Entity注释进行标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17308606/