当前位置: 代码迷 >> Java Web开发 >> 应用Hibernate的一个问题
  详细解决方案

应用Hibernate的一个问题

热度:209   发布时间:2007-11-16 13:52:55.0
应用Hibernate的一个问题

应用Hibernate的一个问题

我用Hibernate来完成实体的持久化操作,在程序中存在一个“车站类”,但是数据库中的“车站表”是按不同的城市分为好几张表的,比如“北京车站表”、“上海车站表”。。。 用什么办法可以很方便的将“车站类”根据 所在“城市”这一个判断条件 在运行时映射到不同的数据库表?

搜索更多相关主题的帖子: Hibernate  应用  

----------------解决方案--------------------------------------------------------
做个embeded啊,呵呵 一个设置而已。
----------------解决方案--------------------------------------------------------
其实就是一个集合映射。
----------------解决方案--------------------------------------------------------
我是新手,我还是不能理解,麻烦说详细些。谢谢了!
----------------解决方案--------------------------------------------------------
偶的置顶的帖子里有文档,lz最好看看,有一定的了解以后才好说的明白。
----------------解决方案--------------------------------------------------------
运行时映射到不同的数据库表
----------------解决方案--------------------------------------------------------

我把我的想法描述一下:

我的程序中存在一个实体类A,我想用A来对数据库中的表T1、T2、T3(这些表的结构都是相同的,而且数量成百上千)。。。 进行持久化操作。 我想在程序运行的时候根据条件判断决定用A来持久化T1或者T2或者T3中的数据(因为特殊原因 T1、T2、T3不应该合并成一个包括所有数据的表T)。

那么、就不能用配置文件的方式来进行A到T1、T2、T3的映射了,只能在运行时来根据运行状态来进行动态的映射。

这个问题该怎样解决,是否有更好的解决办法,还希望大家多多帮忙!!



----------------解决方案--------------------------------------------------------

楼主好像发帖子问过类似的问题,问题好像是lz想用一个po来映射3张表,只不过根据不同的情况选择对哪张表做映射,好办法到是暂时没想到,笨办法到是想到一个,就是写3个不同的cfg文件,然后每次要操作的时候,用3个hibernateUilt来初始化,也就是说分别加载不同的配置。这个办法有点笨,但是应该可以解决问题,满费资源的说。这个办法应该可行,一个好点的想法就是把A类做成个接口,根据不同情况去实例化,然后分别对应那三张表。但是具体的可行性有待证实。

[此贴子已经被作者于2007-11-16 19:03:41编辑过]


----------------解决方案--------------------------------------------------------

“一个好点的想法就是把A类做成个接口,根据不同情况去实例化,然后分别对应那三张表。但是具体的可行性有待证实。” 你说的这个办法可行,我这么做过,但是还是需要很多机械性的劳动,觉得还是应该改进。

但是最好的解决办法应该是脱离配置文件的束缚、用代码来实现和配置文件同样的作用。但是这个怎么实现我没有一点头绪、还希望各位多多指点,谢谢大家!!


----------------解决方案--------------------------------------------------------

现在我说所面对的主要困难是:这些同结构的表的数量多,需要上千个。所以写配置文件的办法还不是很好!


----------------解决方案--------------------------------------------------------
  相关解决方案