- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试根据引用 4.4 自定义实现来实现自定义查询:
What's the difference between Spring Data's MongoTemplate and MongoRepository?
我这样做是因为我需要使用 mongoTemplate 进行特殊查询。
我得到的错误是 PropertyReferenceException。所以似乎 spring-data 正在尝试自动生成我不想要的查询。我想使用我自己的自定义查询。
org.springframework.data.mapping.PropertyReferenceException: No property search found for type com.eerra.core.common.dto.User
这里也描述了该问题,但该解决方案似乎对我不起作用:
http://forum.springsource.org/showthread.php?114454-Custom-repository-functionality
问题
如何在没有 spring-data 尝试自动生成查询的情况下实现我的自定义查询接口(interface)和实现?
配置
Spring 配置
spring-data.xml
<!-- Spring Data MongoDB repository support -->
<mongo:repositories base-package="com.eerra.*.common.service" />
Repository 类和接口(interface)位于以下包中:
com.eerra.core.common.service.UserRepositoryInterface.javacom.eerra.core.common.service.UserRepoistoryCustom.java(接口(interface))com.eerra.core.common.service.UserRepositoryCustomImpl.java(实现)
UserRepositoryCustom.java
public interface UserRepositoryCustom {
List<User> searchAllUsers();
}
UserRepositoryCustomImpl.java
public class UserRepositoryCustomImpl implements UserRepositoryCustom {
@Autowired
private MongoTemplate mongoTemplate;
@Override
public List<User> searchAllUsers() {
return mongoTemplate.findAll(User.class);
}
}
UserRepositoryInterface.java
@Repository
public interface UserRepositoryInterface extends MongoRepository<User, String>, UserRepositoryCustom {
User findByEmail(String email);
List<User> findByEmailLike(String email);
List<User> findByEmailOrLastName(String email, String lastName);
List<User> findByEmailOrFirstNameLike(String email, String firstName);
@Query("{\"$or\" : [ { \"email\" : { \"$regex\" : ?0, \"$options\" : \"i\"}} , " +
"{ \"firstName\" : { \"$regex\" : ?0, \"$options\" : \"i\"}}, " +
"{ \"lastName\" : { \"$regex\" : ?0, \"$options\" : \"i\"}}]}")
List<User> findByEmailOrFirstNameOrLastNameLike(String searchText);
}
最佳答案
问题解决了。当 Impl 类命名不正确时会出现此错误。 Impl 类必须根据存储库类命名。因此,此示例的名称必须如下:
在此处查看答案: What's the difference between Spring Data's MongoTemplate and MongoRepository?
关于spring-data mongodb 自定义实现 PropertyReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17035419/
当我尝试构建我的 Maven 项目时,出现以下异常: org.springframework.beans.factory.BeanCreationException: Error creating b
我分享了我在下面创建的模型、存储库和 Controller 。错误消息已附后。 PropertyReferenceException 的原因是什么?我需要改变什么? 玩家 @Entity @Table
我使用spring-data来创建存储库。但是,当我尝试启动该项目时,出现以下错误: Caused by: org.springframework.data.mapping.PropertyRefer
我一直在尝试创建一个 Spring Boot 应用程序。在我的应用程序中,我想添加一些自定义方法来保存数据,而不是使用默认的保存方法。 我的应用程序入口点是这样的: @Configuration @C
我有一个 spring boot 项目,我使用 spring JPA。我有这个模型 Receipt,它有一列 TransactionDate,它的数据库列名称是 transaction_date。我正
我正在尝试根据引用 4.4 自定义实现来实现自定义查询: http://static.springsource.org/spring-data/data-mongodb/docs/current/re
异常的文本显示“没有找到类型的属性 fid”(原文如此!),我尝试用谷歌搜索,但一无所获。可能它代表“功能 ID”,但我不确定它到底发生了什么。我如何解决它?我的类(class)有问题吗? 我的属性类
这是我的模型: 一个 AdmisHistory 链接到多个 Admis 一个 Admis 链接到 0 或一个 AdmisRejet 实体: public class AdmisHistory {
我将 Spring JPA 与 Hibernate 和 PostgreSQL 结合使用。 我有以下 JPA 存储库: import org.springframework.data.domain.Pa
我的 Domain 类有以下存储库: public interface IDomainRepository extends GraphRepository, RelationshipOperation
我正在 springboot 中创建一个新端点,它将返回从 mongo 数据库中的聚合查询生成的用户的简单统计信息。但是我得到了 PropertyReferenceException 。我已经阅读了多
我已经就这个问题搜索了几个小时,但找不到完全符合我的情况并有解决方案的。 我有一个现有的 Cassandra 数据库,但打算在不久的将来迁移到 MongoDB。我正在使用 Spring Data JP
我尝试遵循以下快速入门指南: https://spring.io/guides/gs/accessing-data-mongodb/ 我昨天有这个工作,我觉得我没有改变任何东西(即使我必须改变),但是
我正在尝试创建基本存储库类来添加新的自定义方法,但出现错误。 @NoRepositoryBean public interface XRepository extends JpaRepository
我正在开发Spring Data MongoDB 聚合框架。 错误: org.springframework.beans.factory.UnsatisfiedDependencyException:
我对 Spring Data 存储库有疑问。 当我部署时,我得到一个异常,这是因为 Spring Data 尝试动态派生该方法,但在 Entity 中找不到相应的属性。 如何将自定义方法放入自定义存储
我使用小型 Spring boot 表单处理程序项目。下面提供了entity类User, @Entity public class User { // form:hidden - hidden
我正在尝试为 JPA 存储库 ( FruitRepositoryCustomImpl ) 添加自定义实现 ( FruitRepository )。这是我的代码 - import org.springf
我正在开发 spring boot 项目,刚刚升级到 spring boot 2.0.3.RELEASE 版本。 升级后,我遇到以下问题 org.springframework.data.mappin
我有一个带有 Hibernate 5.2.6 和 Spring data Envers 1.0.5 的 Spring boot 1.4.2 应用程序。我正在审核我的实体,并且审核记录已正确保存。 我的
我是一名优秀的程序员,十分优秀!