Я строю небольшое приложение, используя JPA Spring и Spring Data, и мне нужно использовать методы Crudrepository в сервисном уровне, поэтому я сделал 2 класса: genericservice и genericserviceimpl. Но я не знаю, является ли это правильным или даже лучшим подходом.@Entity
public class User {
@Id
private Long id;
private String username;
}
< /code>
dao: < /p>
public interface UserDAO extends CrudRepository {
User findOneByUsername(String username);
}
< /code>
Общая служба < /p>
public interface GenericService {
S save(S entity);
}
< /code>
service < /p>
public interface UserService extends GenericService {
User findOneByUsername(String username);
}
< /code>
Generic Service Impl. < /p>
public class GenericServiceImpl implements GenericService {
@Autowired
private CrudRepository repository;
@Override
public S save(S entity) {
return repository.save(entity);
}
}
< /code>
Service Impl. < /p>
@Service
@Transactional
public class UserServiceImpl extends GenericServiceImpl implements UserService {
@Autowired
private UserDAO userDAO;
@Override
public User findOneByUsername(String username) {
userDAO.findOneByUsername(username);
}
}
Подробнее здесь: https://stackoverflow.com/questions/248 ... g-data-jpa