【问题标题】:Hibernate. Convert HQL to Criteria API休眠。将 HQL 转换为标准 API
【发布时间】:2011-01-29 13:08:02
【问题描述】:

如何将以下 hql 转换为 Criteria API

var criteria = this.Session.CreateQuery("select m, m.Attachments.size from AdvanceMessage m");

? 谢谢

【问题讨论】:

    标签: nhibernate hql criteria


    【解决方案1】:

    你的问题有点含糊,但大致是这样的:

    IList<AdvanceMessage> list = session.CreateCriteria(typeof(AdvanceMessage))
        .List<AdvanceMessage>();
    

    【讨论】:

    • 这仅返回 AdvanceMessages 表中的所有字段。但是第一个,我问,生成一个 T-SQL 语句,如: SELECT m.*, COUNT(SELECTf.Id FROM MessageAttachment f WHERE f.messageId = m.messageId) FROM AdvanceMessages m 我找到了一个解决方案,它是创建一个标准类型的 AdvanceMessage 并为此类字段添加 GroupProperty 投影,并在内部添加带有 RowNumber 投影的附加子查询投影。
    猜你喜欢
    • 1970-01-01
    • 2011-07-30
    • 2011-10-09
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多