简单的HibernatealiasToBean()无法正常工作 [英] Simple Hibernate aliasToBean() not working

查看:64
本文介绍了简单的HibernatealiasToBean()无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下代码对我不起作用:

The following code isn't working for me:

List results = getSession().createCriteria(User.class)
    .setProjection(Projections.projectionList()
            .add(Projections.property("userName"))
    )
    .setResultTransformer(Transformers.aliasToBean(UserSummary.class))
    .list();


有趣的是,如果删除setResultTransformer(),我会得到一个很好的返回用户名列表.


Funny enough though if I remove the setResultTransformer() I get a list of userNames returned back perfectly fine.

这是我的UserSummary类:

Here is my UserSummary class:

public class UserSummary {

    private String userName;
    private String clickUrl;
    private Integer id;

    public UserSummary() {}

    public UserSummary(Integer id, String userName) {
        this.id = id;
        this.userName = userName;
        this.clickUrl = clickUrl;
    }

    public String getUserName() {
        return userName;
    }

    public String getClickUrl() {
        return clickUrl;
    }

    public void setClickUrl(String clickUrl) {
        this.clickUrl = clickUrl;
    }

    public Integer getId() {
        return id;
    }
}


有想法吗?


Thoughts?

推荐答案

已修复.

必须更改我的投影,所以看起来像这样.

Had to change my projection so it looked like this..

.add(Projections.property("userName"), "userName")

很奇怪..但是我猜是可行的.

Odd.. but whatever works I guess.

这篇关于简单的HibernatealiasToBean()无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆