【问题标题】:Spring Hibernate SQL QuerySpring Hibernate SQL 查询
【发布时间】:2023-04-10 11:10:01
【问题描述】:

我有一个 VO 类,它也有另一个 VO 类的 getter 和 setter。例如:

Class DocumentVO{
   PrintJobVO job;
   PrintRunVO run;
   String id;
   getters and setters..
}

现在我需要使用 Spring Hibernate 使用 Native SQL Query。当我想映射 ID 时,我遇到了问题。我的问题是,

select {r.*},{d.*}
from runs {r}, documents {d}
where {r}.RUN_ID as {r.id} = d.RUN_ID as {d.run.id}

这里的run 是 PrintRunVO 类型,它有它的 id 和其他值。如何将它们映射到我的 SQL 中?我收到类似invalid user.table.column, table.column, or column specification 的错误。

有什么办法可以克服?

【问题讨论】:

    标签: sql hibernate


    【解决方案1】:

    在您的普通 SQL 查询中使用 Result Transformer 概念。

    String query = "myquery";
    SQLQuery q = session.createSQLQuery(query);
    q.addScalar("param1", Hibernate.STRING);
    q.addScalar("param2", Hibernate.STRING);
    q.setResultTransformer(Transformers.aliasToBean(MyVO.class));
    q.setParameter("queryParam1", "some value");
    return q.list();
    

    【讨论】:

      猜你喜欢
      • 2017-12-07
      • 2018-05-15
      • 1970-01-01
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多