Java 如何通过spring数据查找不同字段值相同的实体?

Java 如何通过spring数据查找不同字段值相同的实体?,java,sql,spring,spring-boot,spring-data,Java,Sql,Spring,Spring Boot,Spring Data,我寻找我的问题的短期(一种长期)解决方案。 我想在spring数据中编写与以下操作相同的查询: select * from Users where city = @EnteredData data OR homeTown = @EnteredData 我试过了 List<User> findDistinctCity_findByHomeTown(String city); 列出findDistinctCity\u findByHomeTown(字符串城市); 我不知道如何用一种

我寻找我的问题的短期(一种长期)解决方案。 我想在spring数据中编写与以下操作相同的查询:

select * from Users
where city = @EnteredData data OR homeTown = @EnteredData
我试过了

List<User> findDistinctCity_findByHomeTown(String city);
列出findDistinctCity\u findByHomeTown(字符串城市);

我不知道如何用一种方法找到城市或家乡等于给定值的用户。

我将使用以下版本。我最好编写自己的查询,而不是尝试使用Spring数据生成的DSL查询

@Query("select u from User u where u.city = :city or u.homeTown = :city") public List<User> getUserInfo(@Param("city") String city);
@Query(“从用户u中选择u,其中u.city=:city或u.homely=:city”)公共列表getUserInfo(@Param(“city”)字符串city);

我将使用以下版本。我最好编写自己的查询,而不是尝试使用Spring数据生成的DSL查询

@Query("select u from User u where u.city = :city or u.homeTown = :city") public List<User> getUserInfo(@Param("city") String city);
@Query(“从用户u中选择u,其中u.city=:city或u.homely=:city”)公共列表getUserInfo(@Param(“city”)字符串city);

U可以使用方法查询、添加或在查询中

List<User> findByCityOrHometowm(String name);

您可以使用方法查询、添加或在查询中使用

List<User> findByCityOrHometowm(String name);

我知道这条路。但我觉得它很脏。我可以将JDBC用于jpql。但是我有spring数据,我想使用抽象层。这就是在spring数据中引入的用例@Query。它很好地使用了Spring数据。这是最简单的方法,这就是为什么@Query注释适用于。若你们坚持使用生成查询的方法,那个么你们将等待大量的时间。我知道这一点。但我觉得它很脏。我可以将JDBC用于jpql。但是我有spring数据,我想使用抽象层。这就是在spring数据中引入的用例@Query。它很好地使用了Spring数据。这是最简单的方法,这就是为什么@Query注释适用于。如果你坚持使用方法生成所有目的的查询,你将等待大量的时间。这需要你有两个方法参数并传入两次名称。这需要你有两个方法参数并传入两次名称