2014-02-28 3 views
0

Im ищет информацию, но я не нашел, как.Hibernate HQL удалить запрос

У меня есть две таблицы:

  • Remesas
|codigo_prod| nombre |codigo_proveedor| 
----------------------------------------- 
| 1001 | product1 |  EST  | 
| 1002 | product2 |  ASM  | 

- Proveedores 

|codigo_proveedor| mail   | 
---------------------------------- 
| EST  | [email protected] | 
| ASM  | [email protected] | 
| DAM  | [email protected] | 

Я должен удалить из Proveedores строку, не имеют codigo_proveedor на Remesas в этом случае удалить DAM, что его не на Remesas ,

Спасибо!

+0

Я не понял ваши таблицы, но вы можете написать любой запрос, который вы хотите, с помощью метода 'session.CreateSQLQuery (YorQueryString)'. –

+0

Возможно, теперь вы можете понять Это лучше сейчас –

ответ

0

попробовать это:

Session s= HibernateUtil.getSession(); 
    s.beginTransaction(); 
    s.CreateSQLQuery("delete Proveedores where codigo_proveedor not in 
         (select codigo_proveedor from Remesas)"); 
    s.getTransaction().commit(); 

Я знаю, что это для Java!

+0

Бросьте мне эту ошибку: узел для прохождения не может быть пустым! Может быть, поэтому это SQL не HQL? –

+0

Я поменял его на Elbek Query. Я думаю, что это должно работать –

+1

Извините, была проблема в моей базе данных. Сработало! Спасибо :) –

1

Как насчет этого?

delete Proveedores pr where pr.codigo_proveedor not in 
         (select re.codigo_proveedor from Remesas re) 
+0

Я пробовал, но это не работает Я не знаю, почему TT –

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