2017-02-28 3 views
0

親エンティティ内にリストがある一致するエンティティを見つける必要があります。パラメータとしてIdのリストを渡します。内側のリストにパラメータIDが含まれている親エンティティに一致させたい述語的なアプローチなしで行うことができますか? 私が知っている以下の行に沿って何かが働いていますが、何か指摘していただければ、http://docs.spring.io/spring-data/jpa/docs/current/reference/html/を読んでおり、このシナリオはカバーされていません。リストを他のリストとマッチさせるためにSpring JPA @Queryに問い合わせることはできますか?

@Query("SELECT CASE WHERE COUNT (parent) > 0 THEN 'true' ELSE 'false' END FROM Parent parent LEFT JOIN parent.children children where :ids in children") 
boolean isFound(@Param("ids") List<Long> ids; 

答えて

1

あなたは春のJPAを使用する場合は、のような何かを行うことができます:

@Repository 
public interface ParentRepository extends CrudRepository<Parent, Long> { 
    Boolean existsCountByChildrenIn(List<Integer> ids); 
} 
+1

こんにちは、おかげで、私は実際にロジックがはるかに複雑であるとして@queryをしなければならなかったが、それは内にリストしました私を得ていた問題をリストアップしてください。あなたの答えは、私がそれを複雑にしていることに気づきました。そして、私は子供たちに左の参加をします。各子.idは単一のIDであり、私は嬉しいことにこれのために "in:ids"を行うことができます。 – GavinF

関連する問題