在互联网上看,我发现对于Hibernate中的复杂查询,我需要从数据库中获取一些对象,我可以使用Criteria API。据我所知,我不能用它以某种方式更新或删除复杂的关联。是否还有其他允许此类功能的API?
答案 0 :(得分:0)
我相信您正在寻找使用hibernate API更新/删除/插入(DML语句)的选项。如果是这样,您可以查看以下选项。
会话API
您可以直接在Session对象上使用方法。像session.update/save/saveOrUpdate/delete...
apis一样。请参阅Hibernate-Userguide-Session
HQL
您可以使用session.createQuery(...)
使用HQL查询来执行DML操作。请参阅Hibernate-Userguide-HQL
原生SQL
另一个选项是使用session.createSQLQuery(...)
,它允许直接运行本机SQL查询。请参阅Hibernate-Userguide-Native SQL
如果DML语句在存储过程中,还有一个选项,您可以使用session.createStoredProcedureCall(...)
api调用存储过程。