概述

Ebean 内置了将实体 Bean 编组到 JSON 和从 JSON 解组的支持。Ebean 使用 Jackson core 来执行此操作。Ebean 执行此操作的原因是将 JSON 视为一项具有内置支持的一流功能,用于 部分对象循环关系,这两者在 ORM 中都很常见。此外,所有受支持的类型,包括 Joda 类型Java8 类型JSON 数据库映射类型 都能开箱即用。

JSON 编组/解组应该是无痛的、高性能的,并且开箱即用。

JsonContext

通过 json() 方法从数据库获取 JsonContext。然后,此 JsonContext 提供各种方法,用于将 JSON 编组到实体 Bean 和从实体 Bean 解组。

String jsonWithUnknown = "{\"id\":42, \"unknownProp\":\"foo\", \"name\":\"rob\", \"version\":1}";

Customer customer = DB.json().toBean(Customer.class, jsonWithUnknown);
assertEquals(Integer.valueOf(42), customer.getId());
assertEquals("rob", customer.getName());