当前位置: 首页 > 知识库问答 >
问题:

BeanDefinitionOverrideException、Spring Data JPA和JDBC Bean冲突

庾才
2023-03-14
public interface UserRepository2 extends CrudRepository<User, Integer> {

}

@Entity
@Table(name = "userstab")
public class User {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    private String name;

    private String email;

    ...
}
The bean 'userRepository2', defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled.

Action:
Consider renaming one of the beans or enabling overriding by setting **spring.main.allow-bean-definition-overriding=true**

Invalid bean definition with name 'userRepository2' defined in null: Cannot register bean definition [Root bean: class [org.springframework.data.**jpa**.repository.support.**JpaRepositoryFactoryBean**]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] for bean 'userRepository2': There is already [Root bean: class [org.springframework.data.**jdbc**.repository.support.**JdbcRepositoryFactoryBean**]; 

为每个存储库/实体选择JPA/JDBC的最佳实践是什么?

PS:发现@enablejdbcrepositories,带有basePackages属性,但我不确定这是否是个好主意

共有1个答案

闻人越
2023-03-14

这几乎可以肯定是由于Spring Data JDBC旧版本中的一个固定错误造成的。确保您至少拥有以下spring-data-jdbc版本之一

1.0.12 1.1.1 2.1.0

有关详细信息,请参见DATAJDBC-437。

 类似资料:
  • 问题内容: 我正在尝试使用Spring Boot在本地设置DynamoDB。最初,我开始进行设置,并能够通过存储库将其写入/保存到DynamoDB。从那时起,我添加了更多类来构建我的应用程序。现在,当我尝试启动应用程序时,出现以下异常: 我已经广泛搜索了SO和Internet,但是对此没有任何有用的解决方案。该错误消息也具有误导性。 我的项目属于以下层次结构 DynamoDBConfig.java

  • 我只想不使用xml,所以我需要非xml替代这些设置。这是我的POM。

  • 问题内容: 我正在尝试在同时引用 jQueryUI 和 Bootstrap 3 的View 上使用。如果我在jQueryUI的js之后加载Boostrap,则调用成功,但是如果我在Bootstrap之后调用jQueryUI,则出现错误,并且没有任何效果。您可以自己尝试。互联网上对此进行了大量讨论,我询问了有关GitHub的问题,但我还找不到解决方案。 问题答案: 理想的解决方案是采用没有工具提示的

  • 我所有涉及gui的代码都有问题。例如,公共类Ritboard扩展Jboard行给我一个错误: 在javax.swing.JComponent中的getBaselineResizeBeacior()与在java.awt.Component中的getBaselineResizeBeacior()冲突;试图使用不兼容的返回类型 他的权宜之计是实施什么都不做的方法。我也尝试重新安装IntelliJ。有谁知

  • 我们有一个子类,我们不需要任何等号和哈希码比较。它在超级类中处理。 但是FindBugs给出了错误-EQ_DOESNT_OVERRIDE_EQUALS:这个类扩展了一个类,该类定义了一个EQUALS方法并添加了字段,但没有定义EQUALS法本身。因此,该类实例上的相等将忽略子类的标识和添加的字段。确保这是预期的,并且您不需要重写equals方法。即使您不需要重写equals方法,也可以考虑无论如何

  • 问题内容: 作为测试项目,我使用wsdl和jax- ws创建了一个非常简单的WebService。如果客户端作为GlassFish中的Web应用程序部署,则客户端运行得很好,但是如果我直接在Eclipse中启动相同的(WebService-)代码,则会收到以下错误: 经过研究,我发现它与某些版本的库文件有一定关系。所以现在我的问题是,如何才能“修复” Eclipse Java执行以正确运行我的We