基本Java映射的orm对象哈希映射(将POJO映射为映射)
是否有任何类似于this的“对象哈希映射”用于基本java。util。地图
能够“映射”定制类(通常通过注释)以存储在基本映射中的基本思想是:
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 Datastore
映射到原始Map
接口:
Map<String, String> map = Datastorecast.getMap("somemap");
不管怎样,我一直在思考如何在不重新发明轮子的情况下实现它:
- 使用谷歌Gson或JSON。将对象序列化为java很简单。util。地图
- 序列化的另一个选项是XStream
- 然后将结果映射复制到数据存储支持的映射容器中
更新:
我实现了一种实现这一点的技术(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类就可以反映出要输入到地图中的值李>
# 1 楼答案
那trove4jTCustomHashMap呢?看起来,它可能正是你想要的