此查询无效。它显示我的sql语法异常错误。
mappingHeaderId
是对象表FinanceAccountMappingHeader
,
busineeUnitId
是TableBranchesCompany
,
customerId
是表格TableClient
customerSiteId
是`TableRigs和
customerSiteAdressId
是表格CustomerSiteAddress
请写出正确的查询
Query q1 = session.createQuery("DELETE FROM FinanceAccountMappingDetails WHERE "+
"status=:status AND mappingHeaderId.businessUnitId.id =:buisnessUnit "
+"AND mappingHeaderId.customerId.id =:customerId AND mappingHeaderId.customerSiteId.id=:customerSiteId "+
"AND ownershipId.id=:ownershipId AND mappingHeaderId.customerSiteAdressId.id=:customerSiteAddresssId");
q1.setParameter("status", "active");
q1.setParameter("buisnessUnit", buisnessUnit);
q1.setParameter("customerId",customerId);
q1.setParameter("customerSiteId",customerSiteId);
q1.setParameter("ownershipId",ownershipId);
q1.setParameter("customerSiteAddresssId",customerSiteAddresssId);
q1.executeUpdate();
答案 0 :(得分:1)
一个删除查询不能删除多个表记录,一次删除一个或多个记录但是同一个表。因此,请从删除查询中删除其他表ID列。