Из SQL с левым внешним соединением в JPQL или собственный SQL - PullRequest
0 голосов
/ 08 февраля 2011

Привет всем, моя проблема связана с преобразованием одного из Sql с левым соединением в структуру jpa и entity, но я застрял с этим, вот мой sql

    SELECT   
     *
     FROM X_TABLE LEFT OUTER JOIN Y_TABLE  
     ON 
     TO_CHAR (X_TABLE.TIME1, 'HH24:MI') = 
        TO_CHAR (Y_TABLE.TIME1, 'HH24:MI') 
        AND
          TO_DATE(Y_TABLE.DATE1) = TO_DATE('10/10/2010','dd/MM/yyyy')
           AND 
                Y_TABLE.Z_TABLE_ID =X_TABLE.Z_TABLE_ID,
                  Z_TABLE 

     Where X_TABLE.Z_TABLE_ID =Z_TABLE.ID

Y_TABLE имеет внешний ключ X_table но когда я запрашиваю с этим sql, X_TABLE, который не имеет внешнего ключа Y_TABLE, где будут храниться мои столбцы Y_TABLE?

отношение между Y_TABLE и X_TABLE - ManyToOne, поэтому в сущности Y_TABLE у меня есть поле @ManyToOne X_TABLE, когда я отображаю обратно это отношение в X_TABLE через сопоставленный у меня есть список Y_TABLE когда я запрашиваю этот sql, я получаю только строку с двумя столбцами таблиц?

но в смысле сущности у меня есть список Y_TABLE?

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

спасибо всем Система, в которой мы работали, как показано ниже

eclipselink 2.0.1, Glassfish 3.0.1, JSF 2

1 Ответ

1 голос
/ 08 февраля 2011

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

Использование вашей функции кажется странным, почему вы хотите сравнить время как символы и символыв качестве даты?

Если ваша база данных очень загадочная, вы можете вместо этого определить представление и сопоставить его.

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