gpt4 book ai didi

java - 原始 Java Map 的对象 HashMap (将 POJO 映射到 Map)

转载 作者:行者123 更新时间:2023-12-02 23:01:00 29 4
gpt4 key购买 nike

是否有像this这样的“对象 HashMap ”对于原始 java.util.Map?

能够“映射”自定义类(通常通过注释)以存储在原始映射中的基本思想:

Map<String,String> map = new HashMap<String,String>();
Class car = new Car(1, "Red");

Ohm ohm = new Ohm(map); // set the back-end map to use.
Car result = ohm.put(car); // persist annotated class
result = ohm.get(1); // get by id
result = ohm.get("color", "Red"); // get by property query

我问这个问题的一个原因是我开发了一个库,可以有效地将 GAE 数据存储 映射到原始 Map 接口(interface):

Map<String, String> map = Datastorecast.getMap("somemap");

无论如何,我一直在思考如何在不重新发明轮子的情况下实现它:

  • 使用 Google Gson 或 JSON.Simple 将对象序列化为 java.util.Map
  • 序列化的另一个选项是 XStream
  • 从那里将生成的 map 复制到数据存储支持的 map 容器

更新:

我实现了一种实现此目的的技术(Redis 风格):

Class car = new Car(1, "Red"); 

map.put("classname:com.mycompany.Car:uid:", car.getId());
map.put("classname:com.mycompany.Car:color:", car.getColor());
  • 因此,只需对类进行注释,以便 OHM 类可以反射(reflect)要放入映射中的值。

最佳答案

trove4j 怎么样 TCustomHashMap ?看起来,这可能正是您正在寻找的东西。

关于java - 原始 Java Map 的对象 HashMap (将 POJO 映射到 Map),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15868922/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com