#java #hibernate #spring-boot #spring-data-jpa
#java #hibernate #весенняя загрузка #spring-data-jpa
Вопрос:
Допустим, у меня есть следующий «родительский» pojo…
@Entity
@Table(name = "parent")
public class Parent{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(fetch=FetchType.LAZY, mappedBy = "parent", cascade = {CascadeType.ALL})
@JsonIgnoreProperties("parent")
List<Child> children;
}
и у меня есть следующий дочерний POJO :
@Entity
@Table(name = "child")
public class Child{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name="parent_id")
private Parent parent;
}
Результатом этого будет то, что у меня будет две таблицы, и мой репозиторий jpa будет выполнять запросы, используя поле parent_id в дочерней таблице.
Однако, что, если я хочу, чтобы это было похоже на поиск, где by есть третья таблица для связи, где у меня есть дочерний идентификатор и родительский идентификатор в виде строки, и это было бы отношением? могу ли я изменить мои настройки spring — jpa / hibernate для этого? Если да, то была бы признательна за некоторую помощь!
Комментарии:
1. Чего вы хотите добиться, имея третью таблицу, которую ваша текущая настройка не может обработать?
2. @roger Мне нужно иметь возможность обрабатывать этот сценарий поиска, потому что эта система заменяет старую, и я должен иметь возможность обрабатывать перенос данных из этого поиска, в ожидании подтверждения спецификации клиента, новая система также может сохранить эту структуру. Я бы предпочел использовать стандартный поиск по внешнему ключу, но, увы, это зависит не от меня. 🙁
3. Вы ищете
@JoinTable
.