SQL Error: 156, SQLState: S0001

本文介绍使用MyEclipse连接mssqlServer2008时遇到的问题:自动生成的Entity包含关键字“Order”导致SQL错误156。通过调整@Table注解解决了该问题,并讨论了mssqlServer2008对于大小写敏感性和字段名中空格的处理方式。

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

由于偷懒,用MyEclipse连接ms sqlServer2008,然后反转生成了一些Entity,结果自动生成的Entity的注解@Table(name = "LineItem", schema = "dbo", catalog = "Order"),这样的话,生成的sql语句会带上Order.dbo.LineItem,这个时候数据库会报SQL Error: 156, SQLState: S0001,说用了ms sqlServer2008数据库的关键字(order by),这个时候讲注解@Table(name = "LineItem", schema = "dbo", catalog = "Order")改成@Table(name = "LineItem")即可解决。

另:
1.ms sqlServer区分大小写
2.ms sqlServer允许字段名中间有空格,但是自动生成的映射文件里会和数据库保持一致,而java里生成的sql会保留,所以这个也会引起不必要的麻烦,尽量不要允许字段中间空格。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值