辛辛苦苦写的一个blog(如果你有兴趣可以自由下载:http://code.google.com/p/blogabc ),在windows下开发测试,部署,都没有问题。于是打算在ubuntu810上试试,因为这个东东最终要放到linux系统中使用。
安装java,tomcat,mysql,部署,执行mysql脚本建表。然后等着ok了,报错! 表找不到。
首先想到的是mysql没有配对,编码问题?是否允许远程访问?确定无误。再试,还报错。
上网查,说是catelog问题,可是我用的hibernate是annotations,没有hbm文件。排除。
再找,发现是配置文件中:<property name="hibernate.hbm2ddl.auto">none</property>
改!<property name="hibernate.hbm2ddl.auto">update</property>
哈!好使了。不过怎么查询不到原来表里的信息呢?难道update删除原数据?
看看mysql数据库,我傻了,每个实体都有两个大小写不同的表。
我说为什么在windows下用的好好的,跑到linux下就不行呢,原来是大小写问题。
总结,我感觉自己对annotations还不熟悉。执行建表脚本应该是个土办法。猜想部署应用后,应该<property name="hibernate.hbm2ddl.auto">update</property>跑一遍,自动建立表,然后<property name="hibernate.hbm2ddl.auto">none</property>。
人老了,经验一定会增长,但如果自持,很容易被新东西中的小环节击倒;人老了,体力一定会下降,但如果自任,很容易把小问题当成大问题来解决。所以,无他唯有勤奋。