Hi,
I cannot reproduce this problem with Hibernate 3.1.3. But you can try a workaround: specify a table alias yourself. The query would look like this:
Code:
getSessionFactory().getCurrentSession()
.createQuery("delete from FunctionResourcePermissionData frp" +
" where frp.id.elementaryResourceId=:elemRes" +
" and frp.id.compositeResourceId=:compRes " +
" and frp.id.functionId=:fnId")
.setInteger("elemRes",fId.getElementaryResourceId().intValue())
.setInteger("compRes",fId.getElementaryResourceId().intValue())
.setInteger("fnId",fId.getElementaryResourceId().intValue())
.executeUpdate();
If this doesn't work, you can use the Hibernate delete() method (by creating a FunctionResourcePermissionId as parameter), at least for this special query.
Regards,
Georg