对于我的应用程序,我不希望任何 ORM 工具抓取我的域对象并尝试推断表/列结构。相反,我有一个简单的键/值对 HashMap,我想将其转换为数据库表中的行,并且希望将数据库查询结果作为映射列表返回。
我一直在使用 hibernate 的动态映射模式,指定实体名称映射而不是类映射。在大多数情况下,它是有效的,但 hibernate 似乎相当重,特别是当涉及到嵌套映射和列表时。
我已经考虑过编写自定义 tupilizers 或类型,但它们似乎也有点重。
任何其他流行的 ORM/持久性库是否支持类似于 hibernate 动态映射的功能?我稍微研究了一下 DataNucleus 和 iBatis,但似乎找不到 HashMap 类型模式。
最佳答案
如果您不使用映射功能,为什么还要使用 hibernate?
为什么不直接使用 spring 的 JDBC 功能(甚至直接使用 jdbc)并编写一个 RowMapper 将任何行转换为 HashMap?这可以使用 ResultSetMetaData 轻松完成。
关于java - 用于将简单 java.util.Map 持久保存到表的 Hibernate 动态映射模式替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11354654/