基本Java映射的对象哈希映射(将POJO';映射为映射)

基本Java映射的对象哈希映射(将POJO';映射为映射),java,orm,Java,Orm,是否有类似于原语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); /

是否有类似于原语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
无论如何,我一直在思考如何在不重新发明轮子的情况下实现它:

  • 使用Google Gson或JSON.Simple将对象序列化为java.util.Map
  • 序列化的另一个选项是XStream
  • 然后将结果映射复制到数据存储支持的映射容器
更新:

我实现了一种实现这一点的技术(Redis风格):

  • 因此,这只是一个注释类的问题,以便OHM类可以反映要输入到映射中的值
trove4j怎么样?看起来,它可能正是您想要的。

谢谢,但看看它,它看起来仍然是一个地图界面。实际上,我已经有了一个持久映射(带有一个接口java.util.map),我实际上想要的是将POJO“映射”到一组映射put或类似的实现中。
Map<String, String> map = Datastorecast.getMap("somemap");
Class car = new Car(1, "Red"); 

map.put("classname:com.mycompany.Car:uid:", car.getId());
map.put("classname:com.mycompany.Car:color:", car.getColor());