目前,我正在使用Hibernate来持久化应用程序中的实体,并以XML的形式将这些实体返回给我的用户。然而,这意味着每次请求资源时,我当前都是通过Java生成XML,这是无效的,原因有很多。我想知道我是否想在应用程序运行时创建文档对象的缓存(即,将所有对象也作为文档对象批量加载),或者除了MySQL/Hibernate之外,还可能使用基于XML的数据库……
发布于 2010-08-13 03:15:06
您可以使用任何缓存解决方案--比如Ehcache或OSCache
但在执行此操作之前,请对生成时消耗多少CPU以及这种情况发生的频率进行实际基准测试,并将其与拥有缓存所需的内存进行比较。
发布于 2010-08-13 03:58:46
以防万一,请注意Hibernate允许处理XML数据。从Chapter 18. XML Mapping
XML允许您以与处理持久性
相同的方式处理持久性XML。解析后的XML树可以看作是在对象级别表示关系数据的另一种方式,而不是POJO。
Hibernate支持dom4j作为操作XML树的API。您可以编写从数据库中检索dom4j树的查询,并将对树所做的任何修改自动同步到数据库中。您甚至可以使用dom4j解析XML文档,并使用Hibernate的任何基本操作将其写入数据库: persist()、saveOrUpdate()、merge()、delete()、replicate() (尚不支持合并)。
此功能有许多应用程序,包括数据导入/导出、通过JMS或SOAP外部化实体数据以及基于XSLT的报告。
可以使用单个映射将类的属性和XML文档的节点同时映射到数据库,或者,如果没有要映射的类,则可以只映射XML。
我不确定这是否能满足您的需求(而且我从未使用过这个不太知名的功能)。但也许你可以看一看。
https://stackoverflow.com/questions/3471087
复制相似问题