SpringBoot部署报错:重复JPA实体名不被允许求解决
解决Hibernate DuplicateMappingException重名问题
针对你遇到的org.hibernate.DuplicateMappingException错误,虽然你没找到名为Dohvati_BilancaPoOperatorima2的模型,但可以从以下几个方向排查:
- 检查自动生成的实体类:这类名称通常是逆向工程(比如JPA逆向生成、MyBatis Generator)自动生成的,可能藏在
target/generated-sources这类构建目录里,全局搜索项目(包括target目录)下的Dohvati_BilancaPoOperatorima2.java或.class文件。 - 排查@Entity注解的name属性:有些实体类可能显式设置了
@Entity(name = "Dohvati_BilancaPoOperatorima2"),或者两个不同实体类默认用了相同类名(自动生成时可能对应不同数据库表但类名重复),全局搜索项目中的@Entity注解,核对name属性值。 - 检查存储过程/视图映射:这个名称看起来像存储过程或视图,可能是通过
@NamedStoredProcedureQuery、@SqlResultSetMapping这类注解映射了同名对象,导致Hibernate将其识别为实体,搜索这些注解的name值是否有匹配项。 - 清理构建残留:执行
mvn clean(Maven)或gradlew clean(Gradle)清理target目录,避免旧编译文件残留导致Hibernate加载到无效映射,之后重新构建部署。 - 多数据源配置检查:如果项目配置了多数据源对应
RPT_BILANCA和RPT_REPORT_PORTAL两个schema,可能Hibernate扫描时自动映射了两个schema下的同名对象。可以在数据源配置中指定精准的扫描包,或给不同数据源的实体设置不同的name前缀,避免冲突。
内容的提问来源于stack exchange,提问作者Simo
相关产品推荐
相关产品推荐

