В JPA Hibernate, как получить данные из родительской и дочерней таблицы без ссылки на внешний ключ? - PullRequest
0 голосов
/ 08 марта 2019

Я использую базу данных posgGreSQL. Я использую JPA для создания баз данных.

У меня есть две таблицы: 1) parent_table со столбцами: mapping_id, pcol1, pcol2, pcol3 2) child_table со столбцами: mapping_id, ccol1, ccol2, ccol3

'mapping_id' - внешний ключ между родительской и дочерней таблицей. Отношения один в один.

Так же, как при использовании cascade = CascadeType.ALL, когда вы автоматически удаляете любую запись в родительской таблице, соответствующая запись из дочерней таблицы также удаляется. Метод 'delete' org.springframework.data.repository.CrudRepository удаляет не только запись родительской таблицы, но и запись дочерней таблицы.

Аналогичным образом, когда вы просто запрашиваете родительскую таблицу, можем ли мы также получить соответствующую запись из дочерней таблицы?

Мой текущий метод в классе репозитория выглядит следующим образом:

 @Query("SELECT ptable, ctable FROM ParentTable as ptable, 
ChildTable as cTable " + "WHERE ptable.mappingId = ctable.mappingId " +
                "AND ptable.mappingId =:mappingId")


List<Object[]> findSearchProfileBodyByMappingId(@Param("mappingId") Long mappingId);

В приведенном выше запросе я пытаюсь получить данные как из родительской, так и из дочерней таблицы, используя внешний ключ where. Я пытаюсь найти лучший способ выражения запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...