hibernate实现动态表名

本文探讨了在MySQL和Hibernate环境下,如何处理动态表名和大小写问题。通过配置Hibernate的NamingStrategy接口,实现了根据日期动态生成表名。但遇到的问题是,当月份变更时,现有策略仅在服务器启动时生成新表名,无法自动适应每月变化,需要进一步的解决方案。
摘要由CSDN通过智能技术生成

起因:

mysql数据库中生成的表有的名字是大写,有的是小写,有的和类名相同,有的后面加了日期,也就是所谓的动态表名,每月都会自动产生一个新的表。

环境:

mysql5.5+hibernate3

分析:

当然我是菜鸟,直接不知道原因,通过对比发现了原因。需要解决的问题其实有以下几个:

类怎么和表名对应
表名大小写怎么产生的
如何产生动态的表名
解决:

第一个问题类怎么和表名对应:

hibernate.cfg.xml 中添加类对应的配置文件,在这个Player.hbm.xml的配置最重要。

<mapping resource="com/joyfort/nova/persist/hibernate/game/model/Player.hbm.xml" />

看一下Player.hbm.xml内容,这个里面的table指定的就是表名,如果这里你不指定表名,则class标签对应的类名就是表名

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值