我不喜欢Java,所以我需要一些帮助。我正在使用Play Framework。
我有一个Entity类,它使用以下字段扩展GenericModel:
@Column(name = "description")
private String description;
我想使用getter添加一个额外的字段,让我们称之为getToString,它基本上包含一个只读字符串,其中包含该实体的字符串表示。
我需要这个,因为该对象将作为JSON响应发送,我的JavaScript将读取此字段,并将其显示在例如实体需要表示为字符串的位置。
我该怎么做?
答案 0 :(得分:2)
我不是Play框架的专家,但您可能应该查看@Transient注释。
JPA会忽略用@Transient标记的字段(如果使用JPA属性访问,则为getter / setter),但通常会被其他框架考虑。
答案 1 :(得分:1)
我遇到的问题是使用GsonBuilder的副作用。除非修改了库的源代码,否则构建器似乎不会解析getter和setter。我不愿意这样做。
答案 2 :(得分:0)
根据我的理解(请纠正我,如果我错了)你想要一个只读方法,它将返回实体的字符串表示(JSon格式)。
您可以覆盖默认的toString方法:
@Override
public String toString() {
return "your_json_string";
}
并在需要时调用它