Hibernate必须在具有唯一字段的表中进行插入。我想忽略重复的条目,以便我的程序继续运行。在MySQL中我只想说INSERT IGNORE
,但我无法弄清楚如何在Hibernate中做到这一点。有什么建议?谢谢!
答案 0 :(得分:9)
您是否尝试过使用@SQLInsert
annotation?这样,您可以使用自己的自定义SQL覆盖Hibernate语句并使用INSERT IGNORE
:
@SQLInsert(sql="INSERT IGNORE INTO CUSTOMER(id,name) VALUES(?,?)")
class Customer{
...
}
答案 1 :(得分: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();