如何使用Spring Data实现只读属性?

Dmi*_*kov 5 java neo4j spring-data spring-data-neo4j

这应该是一件简单的事情!但到目前为止我一直无法找到答案.要么我错过了一些明显的东西,否则我会遗漏一些明显的东西......

人说,我有一节课.有三个字段 - "id","name"和"reputation".让我们说我愿意更新"名称"而不是"声誉".我希望Spring Data在从DB中检索时获取"信誉"的值,但在保存bean时忽略它.

@Transient注释就在那里,但是Spring完全忽略了该字段并且根本没有填充它.理想情况下,我正在寻找类似@ReadOnly注释的东西.

更多细节

  • 我正在使用Spring Data for Neo4j,但我相信这适用于任何Spring Data风格.
  • 这是基于Jersey/Jackson的RESTful服务的后端.**当我满足GET请求时,我想提供"声誉"值.但是当我收到PUT更新时,我不想接受它.**到目前为止我可以使用杰克逊的功能.但我希望能够更新数据库而无需首先获取现有的Person对象.
  • 我可以想象的唯一方法是定义两个类 - 一个具有"信誉"字段而另一个没有.但这看起来很笨重.是不是有更简单的东西?

jag*_*gra 2

您可以在没有 setter 的情况下使用瞬态属性。该瞬态属性将返回要保护的数据库属性值。