用于休眠条件的 SQL 查询



我其实是冬眠的新手。在创建下面 sql 查询的条件对象时遇到问题。你能带我吗?

SELECT P1.*,O1.PROJECT_OID FROM POINTALL P1
LEFT JOIN
OPERATION_PLAN O1
ON P1.OID = O1.GEOVISION_POINT_OID;

如果你的 POINTALLOPERATION_PLAN表是映射的,那么只有条件才能工作,否则使用 HQL 或 SQL。

这是您需要创建的

Criteria criteria = getSession().createCriteria(POINTALL.class,"P1");
ProjectionList projections = Projections.projectionList(); 
projections.add(Projections.property("P1.something"),"aliasName");
projections.add(Projections.property("P1.something"),"aliasName");
..
projections.add(Projections.property("O1.PROJECT_OID"),"PROJECT_OID");
criteria.createAlias("P1.OPERATION_PLAN","O1", Criteria.LEFT_JOIN);
criteria.setProjection(projections);

您不需要创建条件。您可以执行本机SQL查询,甚至可以在HQL中编写与SQL非常相似的相同查询。

最新更新