在Querydsl 4 Hibernate中有HibernateDeleteClause,HibernateUpdateClause。关于什么 插入新记录?我试过使用HibernateUpdateClause但它总是生成 HQL更新==> SLQ更新。
如何插入新记录?这里有我的querydsl查询(删除+插入):
QUniDati uniDati = QUniDati.uniDati;
HibernateDeleteClause queryUniDatiDelete = uniDatiDao.delete(uniDati)
.where(uniDati.id.idDomanda.eq(idDomanda));
queryUniDatiDelete.execute();
QUniDati uniDati = new QUniDati(String.format("uniDati_%d",posizione));
HibernateUpdateClause queryUniDatiUpdate = uniDatiDao
.update(uniDati)
.set(uniDati.id.idDomanda, idDomanda)
.set(uniDati.id.pos, posizione++)
.set(uniDati.parametro, propName.toUpperCase())
.set(uniDati.valore, propVal.toString())
.where(uniDati.id.idDomanda.eq(idDomanda));
queryUniDatiUpdate.execute();
答案 0 :(得分:1)
Querydsl仅支持JPQL支持的DML子句:UPDATE和DELETE。
对于插入,请直接使用Hibernate API。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用querydsl SQLInsertClause