JPA - выборка данных из отношения один к одному дает ноль - PullRequest
0 голосов
/ 28 июня 2019

Когда я сохраняю сущность Relation, которая имеет отношение один-к-одному с WeeklyOccupancy, все работает нормально, но когда я пытаюсь получить данные обратно, связанная сущность всегда равна нулю

Я пытался извлечь данные методами JpaRepositoryи по собственным запросам

Одно направленное взаимно-однозначное отношение со столбцом соединения, настроенным в xml

            <one-to-one name="weeklyOccupancy" fetch="EAGER">
                <join-column name="W_OCCUPANCY_ID"/>
                <cascade>
                    <cascade-all/>
                </cascade>
            </one-to-one>

Таблицы данных

CREATE TABLE RELATION (
  ID NUMBER(18) NOT NULL PRIMARY KEY,
  ...
  W_OCCUPANCY_ID NUMBER(18)
);

CREATE TABLE WEEKLY_OCCUPANCY (
    ID NUMBER(18) NOT NULL PRIMARY KEY,
    ...
);

ALTER TABLE RELATION
    ADD CONSTRAINT RELATION_W_OCCUPANCY_FK
        FOREIGN KEY (W_OCCUPANCY_ID) REFERENCES WEEKLY_OCCUPANCY (ID);

Данные хранятся в базе данныхно когда я запускаю

relationRepository.findAll()

с использованием JpaRepository, тогда я получаю отношения, но еженедельное заполнение, которое должно быть внутри, всегда равно нулю.

Я пробовал также извлекать данные с помощью nativeQuery:

 @Query(value = "select * from RELATION relation "
            + "LEFT JOIN WEEKLY_OCCUPANCY weeklyOccupancy ON relation.ID = 
             weeklyOccupancy.ID "
            + "WHERE ...", nativeQuery = true)

Я включил spring.jpa.show-sql = true и вижу, что select используется только для объекта отношений, без какого-либо JOIN

Hibernate: 
    select
        relation0_.ID as ID1_0_,

        relation0_.W_OCCUPANCY_ID as W_OCCUPANCY_ID17_0_ from
        ...
        RELATION relation0_

У меня действительно нет идей, любая помощьбудет оценена

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