相关疑难解决方法(0)

如何为@MappedSuperclass实现Spring Data存储库

我有一个JPA @MappedSuperClass@Entity扩展它:

@MappedSuperclass
public class BaseClass {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column
    private Boolean active;

    //getters & setters

}

@Entity
public class Worker extends BaseClass{

    @Column
    private String name;

    //getters & setters

}
Run Code Online (Sandbox Code Playgroud)

active基类的字段是子实体的标志.应该只在应用程序中加载活动的.然后我写了一个通用的Spring Data Proxy接口:

public interface Dao<T extends BaseClass, E extends Serializable> extends
        CrudRepository<T, E> {

    Iterable<T> findByActive(Boolean active);

}
Run Code Online (Sandbox Code Playgroud)

这个是应该用于Worker数据访问的接口,正确扩展前一个:

@Transactional
public interface WorkerDao extends Dao<Worker, Long>{}
Run Code Online (Sandbox Code Playgroud)

好吧,现在在我的逻辑层中,我实现了一个抽象类,它将为我的实体包装CRUD操作的公共代码.我将为每个人提供服务,但我只想继承这个服务abstract.我想为每个服务连接特定的存储库,并使用abstract方法将其提供给超类.这就是我的超类的实现方式:

public abstract …
Run Code Online (Sandbox Code Playgroud)

java generics jpa spring-data

20
推荐指数
1
解决办法
2万
查看次数

标签 统计

generics ×1

java ×1

jpa ×1

spring-data ×1