如何实现像Hibernate这样的惰性getObject方法?

时间:2014-06-20 17:24:43

标签: java hibernate design-patterns

我有一个来自旧版软件的非常大的XML文件。它的大小约为9 GB。

我需要以懒惰的方式获取部分XML,就像Hibernate对数据库一样。我已经在层次结构中使用POJO来表示XML中的记录,并希望从POJO的'get'方法中检索XML中的数据,因为我有Root元素。当然我可以创建一个Manager类或者类,但是我想要像Hibernate那样使用延迟加载。

是否有任何模式或库可以用来改变类方法的行为,就像Hibernate中的Lazy Load一样?

1 个答案:

答案 0 :(得分:2)

我认为你的动机是大量的数据。我不知道任何这样的库,我认为这是一项艰巨的任务,因为XML很难指向所需的片段。

我能想象的最好的是基于事件的处理(例如SAX)并将其转换为适当的数据库方案。其余的是普通的JPA(例如hibernate)映射。