首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Hibernate标准结果中排除bean的字段

在Hibernate标准结果中排除bean的字段
EN

Stack Overflow用户
提问于 2014-09-22 09:03:03
回答 2查看 7.7K关注 0票数 4

下面是我如何从数据库获取我的用户bean。

代码语言:javascript
复制
session.createCriteria(User.class).list();

它从数据库返回所有用户记录。有趣的是,我不想从DB获取密码字段。只是想在检索时排除该字段。

我有选择

1)利用其他领域的预测。这需要更多的代码添加到预测列表中。所以就放弃了这个想法。

2)使用Sql,我需要编写一个手动查询,该查询将终止Hibernate的主题。

有没有可能排除Bean的列值?

EN

Stack Overflow用户

回答已采纳

发布于 2014-09-22 09:14:34

让我们假设下面是您的POJO:

User.java

代码语言:javascript
复制
private long id;
private String fName;
private String lName;

// getter - setter of all fields

现在假设您只想获得id & fName字段,而不是lName

除了您描述的两种方法之外,还有第三种方法可以使用HQL来实现这一点。

代码语言:javascript
复制
Query q1 = session.createQuery("Select new User(id, fName) from User");
List<User> users = q1.list();

User.java修改为具有另一个构造函数,如下所示:

代码语言:javascript
复制
public User(long id, String fName)
    {
        this.id = id;
        this.fName = fName;
    }

简而言之,无论您想检索什么字段,您都可以在构造函数和查询中列出它们。

希望这能有所帮助。

票数 6
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25970226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档