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

通用域名格式。mongodb。util。Spring Boot中的JSONParseException?

闾丘选
2023-03-14

我尝试使用@query annotation创建自定义查询。但这会带来一些错误。

这是我的资料库

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.413WARN 1452 --- [ main]ationConfigEmbeddedWebApplication Context:上下文初始化过程中遇到的异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名为“springSecurityFilterChain”的bean时出错在类路径资源[org/springFramework/Security/config/注释/web/html" target="_blank">配置/WebSecurityConfiguration.class]中定义:通过工厂方法的Bean实例化失败;嵌套异常org.springframework.beans.BeanInstantiationException:实例化失败[javax.servlet.过滤器]:工厂方法“springSecurityFilterChain”抛出异常;嵌套异常org.springframework.beans.factory.UnsetfiedDependencyException:创建名为“userDetailsService”的bean时出错:通过字段“userRep”表示的不满意依赖;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为“userRepository”的bean时出错:初始化方法调用失败;嵌套异常com.mongodb.util.JSONParseException: SELECT user From用户WHEREuser.username=: username^

共有1个答案

蓟雪峰
2023-03-14

异常告诉您提供的@Query被视为JSON。看看您的导入,我们会找到原因:

import org.springframework.data.mongodb.repository.Query; 

虽然您的查询SELECT user VER User WHEREuser.username=: username对JPA(SQL)有效,但对MongoDB无效。要么更改导入以适应数据库,要么更改查询以适应它。

有效的mongoDB如Spring Data mongoDB示例所示:

public interface PersonRepository extends MongoRepository<Person, String>

  @Query("{ 'username' : ?0 }")
  List<Person> findByThePersonsFirstname(String firstname);

}

...以及来自Spring Data JPA示例的有效JPA语句:

public interface UserRepository extends JpaRepository<User, Long> {

  @Query("select u from User u where u.username = ?1")
  User findByEmailAddress(String emailAddress);
}

这需要导入org。springframework。数据jpa。存储库。查询

 类似资料:
  • 下面的代码适用于我尝试过的另外两个网站,但不适用于由1和1托管的我的域。返回代码始终为500-永久否定完成回复。 我知道我在联系是因为FTPReply。isPositiveCompletion(reply)返回true。我尝试了从手机存储器读取文件和从代码早期填充的字节数组发送文件。这是字节数组。两人都返回500人。两者都在其他网站上工作。 如果不使用enterLocalPassiveMode()

  • 不久前,我能够使用与。我目前正在使用一家公司,我不想添加到gitlab的ssh键,所以我试图使用https来拉和推gitlab.com但似乎我一直得到500个错误。 我记得我必须为此添加一些令牌,但我不记得如何在gitlab中使用https,而且似乎没有相关文档。

  • 我正在尝试使用改装将图像上载到本地服务器。下面是我的php代码。 但是我得到了这样一个错误:com.google.gson.stream.MalformedJsonException使用JsonReader.setLenient(true)在第1行第1列路径$处接受格式错误的JSON。 然后,我在初始化改装的类中添加了以下代码。 现在我得到以下错误:com.google.gson.JsonSynt

  • 我有一个在github上的项目。我有两台不同的计算机使用该项目。我提到github的原因是因为这两台计算机有完全相同的项目。但是在其中一台计算机上,我得到一个包不存在错误。那个包com.sun.glass 下面我试着用 我的netbeans autocomplete显示包sun存在于com中,但包glass不存在于sun中。我在网上找不到关于这个错误的任何信息,已经搜索了几天了。正如我所说,最奇怪

  • 我是android和admob的新手。我下载了sdk...导入了play服务库,并完成了在sdk文档上编写的所有内容。但是当我添加xml片段时: 我在错误日志中收到以下消息 通用域名格式。谷歌。Androidgms。ads.AdView未能实例化。我知道之前有人问过这个问题,但没有一个对我有用。上述错误的错误日志: 另外,我已经从开普勒切换到eclipse luna,这是导致问题的原因吗?我的xm

  • 我正试图在域提供的共享主机上部署一个Laravel项目。com,所以在我将我的项目上传到主机后,将公用文件夹分离到public\u html并在该目录下将整个项目上传到新文件夹中。下面是共享主机的结构: -public_html -laravel_app -... 之后,在. env文件中写了正确的连接,然后我试图在我的网站链接,它显示错误消息: 禁止 您没有访问/此服务器的权限。 如果我添加到我