如何在Hibernate中创建INSERT IGNORE查询?

Cra*_*ayl 9 java hibernate

Hibernate必须在具有唯一字段的表中进行插入.我想忽略重复的条目,以便我的程序继续运行.在MySQL中,我只想说INSERT IGNORE,但我无法弄清楚如何在Hibernate中做到这一点.有什么建议?谢谢!

Kai*_*nad 10

您是否尝试过使用@SQLInsert 注释?这样,您可以使用自己的自定义SQL覆盖Hibernate语句并使用INSERT IGNORE:

@SQLInsert(sql="INSERT IGNORE INTO CUSTOMER(id,name) VALUES(?,?)")
class Customer{
   ...
}
Run Code Online (Sandbox Code Playgroud)


Mit*_*ari 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();
Run Code Online (Sandbox Code Playgroud)