Hibernate3.4 annotations 在Linux下作怪始末

本文记录了一位开发者在Windows环境下成功运行的Blog项目移植到Ubuntu过程中遇到的问题。主要问题是由于Hibernate配置导致的数据库表大小写敏感冲突,在Linux环境下引发表找不到的错误。通过调整Hibernate配置并解决实体映射中大小写不一致的问题,最终实现了项目的正常部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

辛辛苦苦写的一个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>。

人老了,经验一定会增长,但如果自持,很容易被新东西中的小环节击倒;人老了,体力一定会下降,但如果自任,很容易把小问题当成大问题来解决。所以,无他唯有勤奋。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值