hibernate连接数据库时不能自动建表

paullbm 2010-06-10 04:32:05
开发了一个基于hibernate+oracle9i的系统。
自己测试时完全没有问题,拿到客户现场部署时却出现不能自动建表的现象。
但其实hbm2dll属性已经设置为update。

经过调试发现,在客户现场不是不能自动建表,只不过建的表不在指定用户的tables目录下。
比如说:当我在程序中配置了test用户,项目一部署起来后,所有的表都建到另一个用户abc的tables下了。


请问大家有没有遇到过这种情况??
...全文
408 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
yibangzhenqing 2010-07-06
  • 打赏
  • 举报
回复
不知道楼主的问题解决了没
如果用create创建没有出上面的问题的话可以考虑这样

每次启动检测到表不存在的时候调用
org.hibernate.cfg.Configuration cfg=new org.hibernate.cfg.Configuration();
cfg.configure();
cfg.setProperty(org.hibernate.cfg.Environment.HBM2DDL_AUTO, "create");
cfg.buildSessionFactory();
不要在XML里面配置了
  • 打赏
  • 举报
回复
竟然会用 Hibernate 去建表!
莫克168 2010-06-13
  • 打赏
  • 举报
回复
看LZ描述的应该就是数据源没配好了,把你配的hibernate的数据源贴上来看看。
niuniugege 2010-06-13
  • 打赏
  • 举报
回复
找到hibernate配置文件里的user配置改过来,还不是行的话你再翻出hibernate生成的建表sql看原因。。
  • 打赏
  • 举报
回复
boluo520 2010-06-13
  • 打赏
  • 举报
回复
是有方法的
好像是在配置文件里面配置一个属性就ok了
和那个show_sql属性差不多
haofly1987 2010-06-13
  • 打赏
  • 举报
回复
其实已经创建了。。。你在浏览器访问下表就有了
jovinmavis 2010-06-11
  • 打赏
  • 举报
回复
没有遇到过
paullbm 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 qray0511 的回复:]
但其实hbm2dll属性已经设置为update。

自动建表是create 吧
[/Quote]


用create的话,再次起来时,之前的记录会丢失的!
newLife_bj 2010-06-11
  • 打赏
  • 举报
回复
学习下
discolt 2010-06-11
  • 打赏
  • 举报
回复
很明显,建到abc用户下了,肯定是数据源配到这个用户下了。你要和用户沟通好啊
paullbm 2010-06-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yang4187668 的回复:]
不知道基于xml的数据库是什么样子
[/Quote]


和XML没有关系。
paullbm 2010-06-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 leejah163 的回复:]
为什么要自动建表呢 ?一开始建好了就行了。。。
[/Quote]


请大家不必再问此类问题了。
由于系统有关访问日志的处理,其数据量大,故采用了按天分表的方式,必须自动建表!
qray0511 2010-06-10
  • 打赏
  • 举报
回复
但其实hbm2dll属性已经设置为update。

自动建表是create 吧
LeeJah163 2010-06-10
  • 打赏
  • 举报
回复
为什么要自动建表呢 ?一开始建好了就行了。。。
yang4187668 2010-06-10
  • 打赏
  • 举报
回复
不知道基于xml的数据库是什么样子
niujw002 2010-06-10
  • 打赏
  • 举报
回复
八成是test用户的缺省表空间指定成abc的了。
baiyaome 2010-06-10
  • 打赏
  • 举报
回复
关注一下。顶起等牛人。
paullbm 2010-06-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 a6282867 的回复:]
应该描述的在清楚一点。。。。。。。。。。。。。。。。。。。
[/Quote]

已经很清楚了呀。
paullbm 2010-06-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ivorytower 的回复:]
同问,你的数据源是不是使用了test用户,而到客户那里没改过来……
[/Quote]


数据库用户是可配置的,客户也看了部署说明书。
我没把数据库用户写死,也不会去写死啊。
加载更多回复(6)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧