Hibernate QueryDsl Insert语句

Hibernate QueryDsl Insert语句,hibernate,querydsl,Hibernate,Querydsl,在Querydsl 4 Hibernate中有HibernateDeleteClause、HibernateUpdateClause。那么...怎么样 插入新记录?我尝试使用HibernateUpdateClause,但它总是生成 HQL更新==>SLQ更新 如何插入新记录?这里是我的querydsl查询(删除+插入): Querydsl只支持DML子句JPQL支持:更新和删除 对于插入,请直接使用Hibernate API。你说得对! 为什么jpql没有insert而HQL有insert?您可

在Querydsl 4 Hibernate中有HibernateDeleteClause、HibernateUpdateClause。那么...怎么样 插入新记录?我尝试使用HibernateUpdateClause,但它总是生成 HQL更新==>SLQ更新

如何插入新记录?这里是我的querydsl查询(删除+插入):


Querydsl只支持DML子句JPQL支持:更新和删除

对于插入,请直接使用Hibernate API。

你说得对!
为什么jpql没有insert而HQL有insert?

您可以使用querydsl SQLINSERCTLAUSE

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();