起因:
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">
<!--