ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 使用Spring Data JPA接口在Intellij中调用不明确的方法

2019-07-06 12:08:53  阅读:225  来源: 互联网

标签:java intellij-idea spring-data-jpa intellij-14


我有一个奇怪的模糊方法调用错误由intellij报告.我正在使用spring数据JPA接口,该接口也实现了具有相同方法签名的接口:

UserRepository:

@Repository
public interface UserRepository extends CrudRepository<User, String>, UserProvider {
} 

UserProvider:

public interface UserProvider {
    User findOne(String userId);
}

除了需要第二个接口的原因之外,我假设因为这些是接口并且findOne的方法签名是相同的,所以编译器在处理歧义时没有问题.我不正确理解Java,还是这是一个intellij问题?这是通过泛型解决CrudRepository接口的问题吗?

解决方法:

我遇到了同样的问题.在我的情况下,我的IDE(Eclipse)没有报告错误,但是当从控制台通过Maven构建项目时,我在testCompile期间遇到了关于方法歧义的错误.

我怀疑这是由Eclipse和Maven使用的不同Java编译器实现的,但即使我验证它们都使用相同的JDK(jdk1.8.0_91),问题仍然存在.

但是,经过几个小时的花费,我设法通过使用@RepositoryDe​​finition注释我的存储库而不是从CrudRepository扩展它来克服这个问题.使用您的样本,它将是:

@RepositoryDefinition(domainClass = User.class, idClass = String.class)
public interface UserRepository extends UserProvider {
}

标签:java,intellij-idea,spring-data-jpa,intellij-14
来源: https://codeday.me/bug/20190706/1397056.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有