Java 如何在我的Ebean实体中具有适当的JsonNode字段?
我在play framework 2.2.1下工作,我需要在我的数据模型中快速保存blob实体(需要为客户端保存的快速用户设置文档)。我已经做了很多次了,但这次我希望埃宾能帮我完成繁重的工作 我想让Ebean将jackson的Java 如何在我的Ebean实体中具有适当的JsonNode字段?,java,json,playframework,jackson,ebean,Java,Json,Playframework,Jackson,Ebean,我在play framework 2.2.1下工作,我需要在我的数据模型中快速保存blob实体(需要为客户端保存的快速用户设置文档)。我已经做了很多次了,但这次我希望埃宾能帮我完成繁重的工作 我想让Ebean将jackson的JsonNode和ObjectNode识别为列类型。下面是我的班级的样子: @Entity public class UserSettings extends Model { @Id @GeneratedValue private Long id;
JsonNode
和ObjectNode
识别为列类型。下面是我的班级的样子:
@Entity
public class UserSettings extends Model {
@Id
@GeneratedValue
private Long id;
private JsonNode blob;
// [... getters setters and whatnot ...]
}
我希望Ebean在我的表中直接创建一个文本列(使用PostgreSQL),并在需要时自动解析和字符串化该列。我没有找到与这种特性相关的代码示例或文档。这看起来很基本,应该是可能的。还是我真的错了?
Ebean已经支持joda time,这看起来很奇怪,因为它不支持添加自定义对象类型或json blob,对吗?您可以看看:
com.avaje.ebean.config.ScalarTypeConverter
或者
com.avaje.ebeaninternal.server.type.ScalarTypeBaseVarchar
也许作为一些例子来解决
com.avaje.ebeaninternal.server.type.ScalarTypeUUID
com.avaje.ebeaninternal.server.type.ScalarTypeClob
第一个问题是您是否将JSON存储为Clob或Varchar(或者您可能需要两个不同的选项)
更新:从Ebean ORM版本4.6.3开始,现在内置了对将JsonNode
和Map
存储到
各种数据库类型(Clob、Varchar、Blob加Postgres JSON和JSONB
数据类型)
参考:
幸运的是,使用Ebean ORM处理JSON有了很大的改进,这要归功于@Rob:/还请注意,有一个增强请求通过ObjectMapper支持Jackson bean(除了JsonNode和Map类型)。这被记录为