1

由于hibernate,我有一个简单的pojo。我想看到这个 pojo 中的一个变量被映射到一个非常具体的 SQL 查询,我想知道这是否可以在 hibernate.xml 文件中创建这样的映射?

非常感谢

4

2 回答 2

1

在纯 JPA 中没有简单的方法可以做到这一点。最好的办法是使用Hibernate 的 @Formula注释,您可以在其上指定应该用于获取字段数据的“SQL 片段”。

于 2012-06-25T06:55:51.583 回答
0

你在寻找这样的东西吗

String sql = "SELECT a.id As id, CONCAT(a.firstName,' ',a.lastName) AS advisorName from tableAdvis";

List<CollectionReport> collectionList = (List<CollectionReport>) getSession().createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(CollectionReport.class)).list();

这是我的 CollectionReport POJO 看起来像

public class CollectionReport {

    private BigInteger id;
    private String advisorCode;
    private String advisorName;    
   //Getter & Setter

}

ResultTransformer 将获取查询结果并根据 POJO 中的属性名称为其分配值。

于 2012-06-25T06:53:49.903 回答