目前我正在使用Hibernate来保存我的应用程序中的实体,并以XML的形式将实体提供给我的用户。然而,这意味着每次请求资源时我都会通过Java生成XML,这种情况由于很多原因而无法实现。我想知道我是否想在应用程序运行时创建一个Document对象的缓存(即批量加载所有对象作为Document对象),或者除了MySQL / Hibernate之外还可以使用基于XML的数据库...
答案 0 :(得分:2)
您可以使用任何缓存解决方案 - 例如Ehcache或OSCache:
但是在你这样做之前,做一个实际的基准来确定生成的CPU消耗量和发生频率,并将其与缓存所需的内存进行比较。
答案 1 :(得分:0)
以防万一,请注意Hibernate允许使用XML数据。来自Chapter 18. XML Mapping:
Hibernate允许您使用 持久性XML数据大致相同 你使用持久性POJO的方式。一个 解析后的XML树可以被认为是 另一种表达方式 对象级别的关系数据, 而不是POJO。
Hibernate支持dom4j作为API 操纵XML树。 你可以写 从中检索dom4j树的查询 数据库并进行任何修改 你自动做到树 同步到数据库。您可以 甚至拿一个XML文档,解析它 使用dom4j,并将其写入 任何Hibernate的基础数据库 操作:persist(),saveOrUpdate(), merge(),delete(),replicate() (目前尚不支持合并)。
此功能有许多应用程序 包括数据导入/导出, 通过JMS实体化数据外部化 或基于SOAP和XSLT的报告。
可以使用单个映射 同时映射a的属性 XML文档的类和节点 数据库,或者,如果没有类 要映射,它可以用来映射 XML。
不确定这是否符合您的需求(我从未使用过这个不太知名的功能)。但也许看一看。