如何在Hibernate中隐藏对象属性?

如何在Hibernate中隐藏对象属性?,hibernate,spring-boot,Hibernate,Spring Boot,我有一个类用户,它有两个属性:firstName和lastName。我想知道,是否可以从数据库中返回用户对象,隐藏lastName属性。我建议两种方法隐藏对象属性 查询中的第一个: String query = "SELECT u.firstname FROM User u WHERE ..."; return entityManager.createQuery(query, String.class).getSingleResult(); 您只需获得firstname属性 第

我有一个类用户,它有两个属性:
firstName
lastName
。我想知道,是否可以从数据库中返回用户对象,隐藏
lastName
属性。

我建议两种方法隐藏对象属性

查询中的第一个:

String query = "SELECT u.firstname FROM User u WHERE ...";
        return entityManager.createQuery(query, String.class).getSingleResult();
您只需获得firstname属性

第二种方法,获取所有用户对象,但将lastname设置为“”

调用findUser()之后


这是entitymanager的一个示例,但您可以对会话工厂执行相同的操作

“隐藏”是什么意思?你想要达到什么样的结果?“从数据库返回用户对象”是什么意思?用于读取用户实体的代码是什么?问题不清楚。如果你试图在API中隐藏结果,也许你必须考虑使用DTOS。
public User findUser(){
    String query = "FROM User u WHERE ...";
            return entityManager.createQuery(query, User.class).getSingleResult();
}
User user = userService.findUser();
user.setLastName("");