2013-11-10 1 views
7

Hibernate должен делать вставки в таблице, которая имеет уникальное поле. Я хочу игнорировать повторяющиеся записи, чтобы моя программа продолжала работать. В MySQL я бы просто сказал INSERT IGNORE, но я не могу понять, как это сделать в Hibernate. Какие-либо предложения? Благодаря!Как создать запрос INSERT IGNORE в Hibernate?

ответ

4

, если вы используете простой запрос SQL, использовать следующий код.

   Query query = session.createSQLQuery("INSERT IGNORE INTO user (name,username) VALUES (:name,:username)"); 
       query.setParameter("name", name); 
       query.setParameter("username", username); 
       int i= query.executeUpdate(); 
6

Вы пытались использовать @SQLInsertannotation? Таким образом, вы можете переписать заявление Hibernate с собственным пользовательским SQL и использовать INSERT IGNORE:

@SQLInsert(sql="INSERT IGNORE INTO CUSTOMER(id,name) VALUES(?,?)") 
class Customer{ 
    ... 
} 
+0

работает, спасибо. Но теперь я получаю другие исключения ... FML :-) – Crayl

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