Spring 数据 jpa 查询 return 具有多个属性

Spring data jpa query to return with multiple properties

我必须通过 ID 获取用户,state.The 方法将一组 userId 作为输入。 我需要一个像下面这样的 jpa 查询: public Set<Users> fetchUsersByIdsContainingStateId(Set<Integer> userIds, Integer stateId) Spring Data JPA 中是否有类似上述的查询,或者我需要求助于命名查询

可以使用spring数据查询:

public interface UserRepository extends CrudRepository<User, Long> {
   Set<User> findUserByIdInAndStageId(Set<Long> userIds , Long stageId);

   @Query("select u from User u where u.id in (:userIds) and u.stage.id=:stageId")
   Set<User> findUserByUserIdsAndStageId(@Param("userIds") Set<Long> userIds , @Param("stageId") Long stageId);

}

for method findUserByIdInAndStageId spring data generates something like

-- whereuser0_.id in (? , ? , ?...)) and stage1_.id=?

方法 findUserByUserIdsAndStageId 与 findUserByIdInAndStageId 相同,但您应该在查询注释中编写查询。

第二个搜索方法 findUserByUserIdsAndStageId 仅作为示例命名,但我会将其更改为更具可读性的内容,例如 findUserWithStage(......)

PC 不要像 Users 这样的域模型使用复数名称,使用单数 User