hibernate未指定schema的问题

假设有二个方案名,schema1,schema2。

schema1方案名登录后,有二个表A,B

schema2方案名登录后,没有表。

设置schema2拥有访问schema1表A,B的读取权限。

schema2能通过select * from schema1.A访问表A。通过select * from A 出错,表不存在。


现在domain中域对象没有指定schema属性,并hibernate.cfg.xml指定hibernate自动建表设置。

当使用schema2方案名设为hibernate的登录用户。

启动后,通过hibernate执行HQL语句,查询表A ,结果查询不到数据。

原因是schema2启动hibernate后,hibernate自动建表为schema2建立了两张表schema2.A和schema2.B,hibernate默认的执行登录用户的方案,hibernate执行过程中也正是查询了schema2创建的表,没有数据,所以查询不到数据。


问题的原因就是domain中没指定方案名。

domain注释可以改成:@Table(name = "A",schema="schema1")


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值