【发布时间】:2018-05-17 17:04:54
【问题描述】:
我尝试使用 @Query 注释创建自定义查询。但它会引发一些错误。
这是我的仓库
package com.springboot.springmongodb.user;
import java.util.List;
import org.springframework.data.mongodb.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;
public interface UserRepository extends CrudRepository<User, String>{
@Override
User findOne(String id);
@Transactional(readOnly=false)
@Query("SELECT user FROM User user WHERE user.username = :username")
public List<User> findByUsername(@Param("username") String username);
}
我想为检查用户名创建自定义查询。
这是我得到的错误。
2017-12-04 14:46:10.413 警告 1452 --- [主要] ationConfigEmbeddedWebApplicationContext:遇到异常 在上下文初始化期间 - 取消刷新尝试: org.springframework.beans.factory.BeanCreationException:错误 创建类中定义的名称为“springSecurityFilterChain”的bean 路径资源 [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: 通过工厂方法实例化 Bean 失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化 [javax.servlet.Filter]:工厂方法 'springSecurityFilterChain' 抛出异常;嵌套异常是 org.springframework.beans.factory.UnsatisfiedDependencyException: 创建名为“userDetailsService”的 bean 时出错:不满意 通过字段“userRep”表示的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“userRepository”的bean:调用init方法 失败的;嵌套异常是 com.mongodb.util.JSONParseException: SELECT user FROM User user WHERE user.username = :username ^
【问题讨论】:
-
你能告诉我们完整的例外吗?
-
您似乎将 SQL Query 声明为 mongodb。 mongo 查询应如下所示:
@Query("{ 'firstname' : ?0 }") -
更新了我的完整例外@YCF_L
-
你会尝试编码格式化吗?换行符肯定不是原创的。
-
是的,我对 stackoverflow 进行了模式更改
标签: java mongodb spring-boot mongodb-query spring-data