Уровень основного уровня имеет: < /p>
services-> где Логика идет (интерфейсы и их реализации). < /p>
объекты -> Они будут использоваться во всем приложении. < /p>
Repository-> Интерфейсы, которые должен реализовать уровень инфраструктуры. База данных (Hibernate) и некоторые виды функций для преобразования объектов JPA в основные объекты (Mappers?). < /p>
Код: Выделить всё
public interface UserRepository extends JpaRepository {
}
ОБНОВЛЕНИЕ:
Моя обеспокоенность использованием данных Spring связана с тем, что мне приходится включать объекты JPA внутрь домена, что теоретически нарушает шестиугольную архитектуру.
Итак, я думал отделить сущности домена от сущностей JPA. но если я это сделаю, я не знаю, куда должен идти репозиторий Spring Data, а также найду способ преобразовать объекты JPA в объекты домена.
Чтобы лучше проиллюстрировать, я предположу, что мне нужно подключиться к базе данных из моего приложения, чтобы прочитать таблицу пользователей.
Это может быть объект домена:
Код: Выделить всё
public class UserDomain{
private String name;
....//More fields, getters, and setters.
Код: Выделить всё
public interface UserService{
public void create(UserDomain user);
...
< /code>
Реализация: < /p>
public class UserServiceImpl implements UserService{
public void create(UserDomain user) {
... //Calling the repository(Spring Data Repository?)
Код: Выделить всё
@Entity
@Table(name="users")
public class User{
@Column(name="name")
private String name;
... // More Fields, getters, and setters
Подробнее здесь: https://stackoverflow.com/questions/465 ... pring-data