我实际上是hibernate的新手。有问题在下面创建sql查询的条件对象。你能引导我吗?
SELECT P1.*,O1.PROJECT_OID FROM POINTALL P1
LEFT JOIN
OPERATION_PLAN O1
ON P1.OID = O1.GEOVISION_POINT_OID;
答案 0 :(得分:1)
如果您的 POINTALL 和 OPERATION_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);
答案 1 :(得分:0)
您无需创建条件。您可以执行本机SQL查询,甚至可以在HQL中编写与SQL非常相似的查询。