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

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

如果您使用的是简单的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(); 

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

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