You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot升级替换javax.persistence为jakarta.persistence遇JPA报错

解决Spring Boot 3.x升级后JPA校验报错问题

以下是针对报错Class ".." is listed in the persistence.xml file, but is not annotated的具体解决步骤:

  • 更新persistence.xml的命名空间与版本
    将原有persistence.xml的头部替换为Jakarta EE 9+对应的命名空间,确保工具能识别Jakarta注解:

    <persistence xmlns="https://jakarta.ee/xml/ns/persistence"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd"
                 version="3.0">
        <persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
            <class>model.MyData</class>
            <class>model.MyDataError</class>
            <class>model.StoredProcedureResultBean</class>   
        </persistence-unit>
    </persistence>
    
  • 升级Eclipse JPA工具与项目Facet版本

    1. 确保使用的Eclipse版本为2022-06及以上(该版本开始全面支持Jakarta EE 9+)
    2. 右键项目 → 属性 → Project Facets,找到JPA项,将版本修改为3.0(对应Jakarta Persistence 3.0规范)
  • 确认依赖版本兼容性
    检查项目中JPA相关依赖(如EclipseLink)的版本是否支持Jakarta:

    • EclipseLink需使用3.0.x及以上版本,Spring Boot 3.x的starter默认已适配,但如果手动引入依赖,需确保版本正确
    • 所有javax.persistence.*相关依赖需完全替换为jakarta.persistence.*
  • 清理项目缓存并重启Eclipse
    执行Project → Clean清理项目,然后重启Eclipse,清除旧的校验缓存

内容的提问来源于stack exchange,提问作者gene b.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 13:33:29