HQL оставила соединение: Путь ожидается для соединения

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

Скажем, Вы записали функцию, которая взяла указатель в качестве аргумента. Существует хороший шанс, что Ваш код предположит, что указатель является непустым, итак, почему не явно проверяют это с утверждением? Вот то, как:

#include <assert.h>

void function(int* pointer_arg)
{
    assert(pointer_arg != NULL);

    ...
}

важная вещь отметить состоит в том, что выражения, которые Вы утверждаете, никогда не должны иметь побочных эффектов, так как они не будут присутствовать в сборке конечных версий. Поэтому никогда не делайте что-то вроде этого:

assert(a++ == 5);

Некоторым людям также нравится добавлять небольшие сообщения в их утверждения, чтобы помочь дать им значение. Так как строка всегда оценивает к истинному, Вы могли записать это:

assert((a == 5) && "a has the wrong value!!");
13
задан Carl Manaster 2 October 2013 в 22:59
поделиться

1 ответ

У вашего пациента есть ссылка на поставщика, а также идентификатор поставщика в качестве свойства. Я бы, вероятно, избавился от свойства идентификатора поставщика на пациенте и просто имел ссылку на поставщика. Тогда ваш запрос должен выглядеть примерно так:

select pat.patientId, pat.patientName 
from patient as pat 
left join pat.provider as pro

Чтобы присоединиться, вам нужен путь ассоциации от вашего пациента к вашему провайдеру, которым в данном случае является pat.provider. Затем hibernate будет автоматически использовать «столбец», указанный в сопоставлении «многие-к-одному», для присоединения к таблице поставщика. В вашем случае соединение не

26
ответ дан 1 December 2019 в 21:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: