2016-11-17 5 views
0

この問題のためにクエリのための正しいitnerfaceを作成するのに問題があります。SpringブートfindByIdIn内部リスト

私は、このエンティティを持っている:

public class TwoEntity extends BaseEntity implements Serializable { 

private static final long serialVersionUID = 1L; 

/* 
* ATTRIBUTE 
*/ 
private String groupName; 

@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) 
private List<OneEntity> oneList; 

そしてCRUD Repositoy:

public interface TwoRepository extends CrudRepository<TwoEntity, Long> { 

TwoEntityfindById(Long id); 

TwoEntityfindByGroupName(String groupName); 

List<TwoEntity> findBy????(OneEntity oe); 

私の目標はOneEntitieがTwoEntityのリストの要素であるすべてのTwoEntitiesを取得することです。 これを達成するためにSpringブートとHibernateを使用しています。 TwoEntityはList内のForeignKeyとしてOneEntityを持っているので、データベースからOneEntityオブジェクトを削除することはできません。

インターフェイスから指定されたツールでこれを動作させる方法はありますか? 可能なキーワードのリストはここで見つけることができます:spring docs for crud

/E

私は私が間違っているのアーキテクチャを持っていると思います。現在、私はこのエンティティ間に一方向の関係を持っています。私はそれらのエンティティを双方向にして、oneList.setList(null)でmanuelleを削除しなければならないと思います。

しかし、私は100%確実ではありません。入力用に開く。

答えて

1

あなたはこれを使用することができます:

List<TwoEntity> findByOneList_Id(Long oneEntityId) 

しかし、あなたは方法が

ここ
twoEntity.oneList.id 

公式ドキュメントに変換されますJpaRepository

public interface TwoRepository extends JpaRepository<TwoEntity, Long> { 

から拡張する必要が

http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods.query-property-expressions

+0

ありがとう。テスト済みこの構文はHibernateで、魅力的に機能しました。どうもありがとうございました。 – Offset

関連する問題