如何保护休眠中的列不被读取

How to protect columns in hibernate from being read

假设我有模型配置和用户。 在配置中,我指定与用户的关系,如下所示: @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"}}

我该如何保护

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

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

没有 Hibernate 读保护的方法。您可以使用声明(insertable = false,updatable = false)保护文件不被更新或插入。 如果您不想将某些字段提供给用户,您应该使用高级逻辑,例如 Json.

中的过滤字段

我找到了解决办法。在实体 class 中,如果我加入列,我可以简单地放置注释 @JsonIgnoreProperties({"prop1", "prop2"}),或者如果它是标准类型 属性 @JsonIgnore 就足够了.