如何保护hibernate中的列不被读取

时间:2015-07-13 08:07:20

标签: java hibernate jpa passwords

假设我有模型配置和用户。 在配置中,我指定与用户的关系,如下所示:        @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name= "user") private User author;

然后当我想要每个特定用户的所有配置时,我会得到这样的结果: {"id":1,"key":"Layout","value":"boxed","author":{"id":1,"name":"Roy","login":"roy","password":"spring"}}

我该如何保护

3 个答案:

答案 0 :(得分:1)

我不确定这是否能解决您的问题。但它看起来像View的典型需要而不是直接的表提取。

在视图中,您可以控制要读取或不读取的所有列。

答案 1 :(得分:0)

没有Hibernate-read保护方法。您可以使用声明来保护文件不被更新或插入(insertable = false,updatable = false)。 如果您不想向用户提供某些字段,则应使用高级逻辑,例如过滤Json中的字段。

答案 2 :(得分:0)

我找到了解决方案。在实体类中,如果我加入列,我可以简单地添加注释@JsonIgnoreProperties({“prop1”,“prop2”}),或者如果它是标准类型属性@JsonIgnore就足够了。