小编Jon*_*nas的帖子

使用Spring Data JPA在服务层中使用Crud方法

我正在使用Spring和Spring Data JPA构建一个小应用程序,我需要在服务层中使用CrudRepository方法,因此我创建了两个类:GenericService和GenericServiceImpl.但我不知道这是正确的,甚至是最好的方法.

这是一个例子:

POJO:

@Entity
public class User {

  @Id
  private Long id;

  private String username;
}
Run Code Online (Sandbox Code Playgroud)

DAO:

public interface UserDAO extends CrudRepository<User, Long> {
  User findOneByUsername(String username);
}
Run Code Online (Sandbox Code Playgroud)

通用服务

public interface GenericService<T, ID extends Serializable> {
  <S extends T> S save(S entity);
}
Run Code Online (Sandbox Code Playgroud)

服务

public interface UserService extends GenericService<User, Long>  {
  User findOneByUsername(String username);
}
Run Code Online (Sandbox Code Playgroud)

通用服务impl.

public class GenericServiceImpl<T, ID extends Serializable> implements GenericService<T, ID> {

    @Autowired
    private CrudRepository<T, ID> repository;

    @Override
    public <S extends T> S save(S …
Run Code Online (Sandbox Code Playgroud)

java spring design-patterns jpa spring-data-jpa

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

标签 统计

design-patterns ×1

java ×1

jpa ×1

spring ×1

spring-data-jpa ×1