(Spring / JpaRepository)動的@ Query、JpaRepositoryのメソッドをBaseEntityRepositoryからSubEntityRepositoryに継承する場合

アンドレ・プレシェット:

(この投稿は議論を続け、重要な部分はすべてここで繰り返されます:(Spring / JpaRepository)BaseEntityRepositoryからSubEntityRepositoryへのJpaRepositoryの継承メソッド

次のエンティティがあるとします。

@Entity public class BaseEntity { }
@Entity public class SubEntity extends BaseEntity { }

および次のJpaRepository実装:

public interface BaseEntityRepository<T, I> extends JpaRepository<TableWithId, Long> {

    @Query("SELECT t FROM BaseEntity t WHERE id = :id")
    Optional<T> getById(@Param("id") Long id);

    @Query("SELECT t FROM BaseEntity t WHERE customField = :customField")
    List<T> findByCustomField(@Param("customField") String customField);
}

SubEntityには、別のリポジトリがあります。

public interface SubEntityRepository extends BaseEntityRepository<SubEntity, Long> {}

JPAは、@ Queryで「BaseEntity」を「SubEntity」に置き換える必要があることを知っていますか、またその理由は何ですか。「いいえ」の場合、私がやりたいことを行うための最良の方法はどれですか。

Mr.J4mes:

SPELを使用する必要があります

@Query("SELECT T FROM #{#entityName} T WHERE T.id = :id")
Optional<T> getById(@Param("id") Long id);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ