休眠-查询返回类型

| 我有一个(相对)简单的HQL查询,它返回两个具有一对多关系的连接实体。 作为查询的结果,我想获取一个类型为entity1的列表,其中entity1.entity2被映射。 因为我在结果集中得到了笛卡尔积,所以对于每个entity2(多边),我都有1行,因此得到entity1的重复项。 因此,如果我列出结果,则会得到重复的条目。 为了解决这个问题,我使用
query.setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY );
但是,这并不总是返回rntity1的列表,而是有时返回entity2的列表。 有没有一种方法可以指定ResultSet的\“ main \”实体?     
已邀请:
        您的第二个查询要求同时返回消息和命令,因此这就是为什么同时获得两种类型的对象的原因。只要让它返回味精。 您应该能够将所需的WITH移到WHERE子句中
SELECT msg FROM Messages AS msg LEFT JOIN FETCH msg.commands AS cmd WHERE( lower( cmd.status ) = \'failed\' )
    

要回复问题请先登录注册