目前在项目中,有一张表是统计日志的,表名为AccessLog.
但是由于AccessLog的记录数每天都会很多,长久下去,老存在一张表中不是办法。
所以,我希望利用Hibernate能够实现动态表名的映射,比如现在是09年12月,那么在动态建立表的时候,自动将数据表取名为AccessLog200912,同理,到了明年一月的时候,则又能自动创建AccessLog201001这样的表,也就是以YYYYMM做为AccessLog表的后缀,这样就能把每个月的日志分开了,减少数据库表的负载!
请问大家有弄过吗?弄过的还望指点指点,不胜感激!!!
但是由于AccessLog的记录数每天都会很多,长久下去,老存在一张表中不是办法。
所以,我希望利用Hibernate能够实现动态表名的映射,比如现在是09年12月,那么在动态建立表的时候,自动将数据表取名为AccessLog200912,同理,到了明年一月的时候,则又能自动创建AccessLog201001这样的表,也就是以YYYYMM做为AccessLog表的后缀,这样就能把每个月的日志分开了,减少数据库表的负载!
请问大家有弄过吗?弄过的还望指点指点,不胜感激!!!
现在的问题只是希望查询的时候方便些
因为原来只有一张日志表的时候,在使用子查询时,外键连接了用户表,但至少使用子查询或视图时日志表名都是明确的。但为了减少存储量,已经按月来存储,即每个月的日志表的名称都有一个YYYYMM的后缀。这样一来,感觉把查询工作难度加大了。请问有什么好方法解决这类问题?
这个当然实现不了,想想都知道,即使动态的生成映射文件,那怎么编译,还有动态的po加载也是一个问题。
将表名改成你的要求(反正Hibernate也支持SQL语句的)
没试过
他这个比较详细 在基于相同字段表明不同的情况下 可以通过createSQLQuery来完成查询操作至于效率 应该跟普通查询没什么区别 因为你看了他怎么实现的就明白了。。