反正有没有扩展JPA存储库并扩展另一个定义了抽象类的接口?

时间:2018-03-09 04:29:14

标签: spring spring-boot spring-data-jpa

我希望EntityRepository从CrudRepository接口和自定义的CustomizedRepository接口扩展,该接口定义了一个抽象类。这可能吗?

我目前正在考虑将EntityRepository定义为

public interface EntityRepository extends EntityRepositoryCustom, CrudRepository<Entity, String> {
}

对于EntityRepositoryCustom,我有

public interface EntityRepositoryCustom {
    public Page<Entity> findEntitisOnCondition(Entity t, Pageable pageable);
}

使用EntityRepositoryCustomImpl

public class EntityRepositoryCustomImpl<Entity> extends SelfDefinedRepositoryImpl<Entity> {
    @Override
    protected String getSOmething() {
        ...
    }
}

而SelfDefinedRepository和SelfDefinedRepositoryImpl分别定义如下。

public interface SelfDefinedRepository<T, ID extends Serializable>  extends CrudRepository<T, ID> {
    Page<T> findEntitisOnCondition(T t, Pageable pageable);
}

public abstract class SelfDefinedRepositoryImpl<T, ID extends Serializable> implements SelfDefinedRepository<T, Serializable>{

    public Page<T> findEventsOnCondition(T t, Pageable pageable) {
        ...
        getSomething();
        ...
    }

    protected abstract String getSomething();

}

这个想法失败了。任何人都可以帮助如何实现我可以拥有JPA存储库函数的存储库接口/实现,还可以扩展我自定义的抽象类?感谢。

1 个答案:

答案 0 :(得分:0)

Add Custom Functionality to a Spring Data Repository

这可能对您的问题有所帮助。