我使用JPA、Spring作为示例应用程序并扩展CrudRepository。我进行REST调用并传递一个Id来搜索带有该Id的所有行。
在内部,我调用repository.findById(长Id)方法来执行搜索。但是,此方法总是对“主键”列进行搜索。是否可以使用此方法或任何其他方法对同一表中的“外键”列进行搜索?
我的表有下面的列
Name DataType
--------------------------------------
Id BIGIN(8) PK, AI
comment VARCHAR(100) Not Null
userId BIGINT(8) FK Not Null
我想按userId搜索,但findById默认使用Id
发布于 2020-05-09 06:11:32
您必须在存储库中添加新方法。
如果实体类中没有任何关系,则使用本机查询(假设Comment
为实体)
@Query(value = "SELECT * FROM Comment WHERE userId = ?1", nativeQuery = true)
List<Comment> findByUserId(long userId);
如果实体类中有关系,那么使用这个。
List<Comment> findByUserId(long userId);
https://stackoverflow.com/questions/61688809
复制相似问题