【发布时间】:2023-03-25 19:07:02
【问题描述】:
这应该是一件简单的事情!但到目前为止,我一直无法找到答案。 要么我遗漏了一些明显的东西,要么我遗漏了一些明显的东西......
我有一堂课,比如说 Person。具有三个字段 - “id”、“name”和“reputation”。 假设我愿意更新“名称”而不是“声誉”。我希望 Spring Data 在从 DB 检索时获取“reputation”的值,但在我保存 bean 时忽略它。
@Transient 注释在那里,但是 Spring 完全忽略了该字段并且根本不填充它。理想情况下,我正在寻找类似 @ReadOnly 注释的东西。
更多详情
- 我正在为 Neo4j 使用 Spring Data,但我相信这适用于任何 Spring Data 风格。
- 这是基于 Jersey/Jackson 的 RESTful 服务的后端。 ** 当我满足 GET 请求时,我想提供“声誉”值。但是当我收到 PUT 更新时,我不想接受它。 ** 到目前为止,我可以使用 Jackson 功能。但我希望能够更新数据库,而不必先获取现有的 Person 对象。
- 我认为完成这项工作的唯一方法是定义两个类 - 一个具有“声誉”字段,一个没有。但这似乎真的很笨拙。没有更简单的吗?
【问题讨论】:
-
我一直在挖掘,看起来这很容易添加。例如,已经有 ReadOnlyRelatedToCollectionFieldAccessorFactory。对于节点属性,我只需要类似的东西。我很困惑为什么这还没有。
-
我知道 Spring Data 和 JPA,这是通过 JPA 注释处理的。我对 Neo4J 完全不熟悉,但我会开始研究 Neo4j。
标签: java neo4j spring-data spring-data-neo4j