概述
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());