3
对于原始java.util.Map是否存在像this这样的“对象散列映射”?原始Java Map的对象散列映射(将POJO映射到映射中)
的基本思想可以(通常是注释)“地图”定制类存储在一个原始地图:
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.Simple序列化对象到java.util.Map
- 序列化的另外一个选择是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类可以反映要放入地图的值。
谢谢,但看着它,看起来仍然是一个地图界面。我实际上已经有一个持久化映射(带有一个java.util.Map接口),我实际上正在寻找的是将POJO“映射”为一组Map或其他类似的东西。 – xybrek 2013-04-09 05:51:51
查看我更新的问题 – xybrek 2013-04-09 05:56:08