繁体   English   中英

使用休眠从框架持久化对象

[英]Persist Object from a framework using hibernate

我正在考虑从我使用的库/工具包中保留某个对象。 存在以下问题:

该对象具有一个ID字段,它是一个字符串。 如何在其中存储生成的数值?

库的对象层次结构相当复杂,相应的对象位于底部。 它还包含应映射为OneToMany的数组。

如何为该对象创建映射文件? 遍历所有父类以确定必填字段? (源代码可用)。 还是可以选择保留所有这些?

首先,我要花一些时间分析您的域模型。

您是否需要对要保存的对象(除了读取和保存)执行查询? 这些查询会受到这些对象具有的依赖性的影响吗? 您是否真的有兴趣保留与对象相关的所有对象图?

我的第一印象是,决定保留来自第三方库/框架的一个对象不是一个好主意,因为:

  • 您无法控制对象的依赖关系/关系以及对象的生命周期。 它是由第三方创建的,对吧?
  • 您必须遵守该特定结构,而该结构很可能不是为持久性目的而优化/设计的。 为您不维护的结构创建Hibernate映射很繁琐。
  • 您最终将保留更多信息,那么您需要
  • 如果您升级了正在使用的第3方库的版本,则您的Hibernate映射可能不再匹配。
  • 有许多设计原则

我认为您会更乐于设计自己的结构并坚持下去。 然后有一个将结构转换为框架所需的对象的适配器。 这样,您的代码将被框架执行的所有任务或将要使用这些对象的所有事情隔离。 您的持久性代码保持不变,只是适配器可能会更改。

我希望这是有道理的。 如果您已经考虑了所有这些,并且仍然需要保留该结构,请告诉我! :)

UPDATE我并不是要创建一个实现与第3方对象相同的接口的结构,而是要创建一个完全重做的结构,以适合关系数据库中的持久性。 然后,适配器将基于您的对象创建第三方结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM