如何通过具有相同不同字段值的弹簧数据查找实体?

时间:2017-11-06 19:32:52

标签: java sql spring spring-boot spring-data

我寻找我的问题的简短(一个方法长)解决方案。 我想在spring数据中编写查询,其执行方式如下:

select * from Users
where city = @EnteredData data OR homeTown = @EnteredData

我试过

List<User> findDistinctCity_findByHomeTown(String city);

我不知道如何在一种方法中找到city或homeTown等于给定值的用户。

2 个答案:

答案 0 :(得分:1)

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

@Query("select u from User u where u.city = :city or u.homeTown = :city") public List<User> getUserInfo(@Param("city") String city);

答案 1 :(得分:0)

你可以使用方法查询,在查询中添加或

List<User> findByCityOrHometowm(String name);

JpqL代码段将创建为

where x.city= ?1 or x.hometown = ?2