2012-05-14 1 views
0

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

org.hibernate.QueryException: could not resolve property: idprovider of: sakila.entity.Order [from sakila.entity.Order c where c.idprovider like '2%'] 

и метод с запросом:

private void runQueryBasedOnIdProvider(){ 
    executeHQLQuery("from Order c where c.idprovider like '" + idProviderTextField.getText() + "%'"); 

} 

где idprovider является внешним ключом в таблице Order.

Я хочу, чтобы моя программа отображала все заказы, сделанные поставщику.

Код here. Извините за то, что вы разместили код там, но я здесь новый, и я не мог его здесь поместить.

Я использовал следующие термины: comanda и furnizor в коде, и они означают порядок и провайдер.

Я не могу понять, как решить проблему, и я хочу поблагодарить вас за помощь.

ответ

0

Запросы HQL не выражаются в терминах таблиц и столбцов, а в терминах сущностей и их постоянных полей/свойств и ассоциаций. Вышеуказанный запрос действителен только в том случае, если объект Order имеет постоянное поле/свойство с именем idprovider.

Это, вероятно, имеет связь Тун к Provider сущности, и, таким образом, запрос должен быть

from Order o where o.provider.id like '2%' 

Но это лишь предположение, так как вы не предоставили код и отображение Order объекта.

Узнайте, как работает HQL, считывая the documentation.

+0

Это код – alin

+0

Я представил код и картографию, и, возможно, вы можете понять, почему он не работает. Большое вам спасибо за помощь! – alin

Смежные вопросы