职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 372|回复: 1

一道面试题,关于动态分表的,且必须使用hibernate

[复制链接]
月上萧萧 发表于 2011-9-8 16:32 | 显示全部楼层 |阅读模式
Oracle数据库里有一张表t_all有字段:id,c1,c2,c3,c4,c5,d1,d2,d3,d4,d5,d6,d7,d8,d9

数据量很大很大,光靠建索引已经无法满足要求,所以要求分表,并且是动态分表。

这里动态分表的意思是:根据实际数据,可能会根据字段c1分表,也有可能根据c2,c3,c5组合分表。

所以呢
以c开头的字段(c1,c2,c3,c4,c5)是分表的关键字段。
以d开头的字段,是业务数据。(实际上c1,c2,c3,c4,c5也是业务数据。)

部分数据举例如下:
id, c1, c2, c3, c4, c5
1, x1, x2, x3, x4, x5
2, x1, x22, x3, x44, x55
3, x11, x222, x33, x444, x555
4, x11, x2222, x33, x4444, x5555
5, x111, x22, x333, x44, x55

如果以c1,c3组合分表,分成三个表
1、c1=x1 and c3=x3 的数据放在表t_1里。  如行1、2
2、c1=x11 and c3=x33 的数据放在表t_2里。  如行3、4
3、其他数据在t_3表里。  如行5


问题:请大致描述下分表入库程序设计的思路,hibernate的表和model类的mapping该怎么设计,sessionfactory怎么加载?


这个是一道面试题,大致的意思差不多是这样的,描述的不好,并且其中也不定描述准确。大家不要见笑。我对hibernate很不熟悉,基本没什么想法,记忆中是没办法搞的,因为model是写死的。我的本意是直接用jdbc做。但是要求是必须是使用hibernate,各位讨论下应该怎么搞?

会玩就好 发表于 2011-9-8 16:33 | 显示全部楼层
不适合用hibernate,面试官在玩你
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-6 17:37 , Processed in 0.119943 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表