hibernate映射postgreSQL数据库中的表时,表名是大写的时候为什么hibernate不能映射实体 5

并且当表中的字段名为大写的时候为什么,不能关联导致不能查询出数据,没有豆豆了,麻烦各位解答一下,谢谢... 并且当表中的字段名为大写的时候为什么,不能关联导致不能查询出数据,没有豆豆了,麻烦各位解答一下,谢谢 展开
 我来答
lp8608闯天涯
2013-09-09
知道答主
回答量:18
采纳率:0%
帮助的人:9.5万
展开全部
数据库里面的字符不分大小写,但是java实体类的属性是敏感的,所以写配置文件时属性名一定要跟实体类里面一样的,列名不用管大小写问题。
但是你写hql时:例如:select * from User ,这个User 是你的实体类名,不是你的表名,hibernate是通过配置文件将表名与实体类名映射的。
追问
您好,比如当用户创建table的时候他用命令 Create “Table”,这样出来的表名就是大写的,导致hibernate没有办法映射为实体类,再次就是当列名为大写的时候,其实也就是当用户创建列名的时候他是“CloumnName”这种导致不管你后台传过去的列名是什么样的都没有办法查询只有用“列名”这种能查询出结果,不知道有什么办法既能读取带有引号的列名和没有引号的列名
追答
当你创建一个表名字为“Table”时,hibernate的映射文件会有响应的配置
比如;这里不用转义
另外当列名为大写时,名字为“CloumnName”,实体类得属性名为:‘name’。
例如:
最后你写sql查询时这样写的:select name from TestTable where id=1
stefwujj
2013-09-10 · TA获得超过417个赞
知道小有建树答主
回答量:141
采纳率:100%
帮助的人:210万
展开全部
在你的映射文件里面把class name="" table="" 把table加上就行了。大小写问题
追问
class name="\" table\""
这种在XXX.hbm.xml中加上转义符和双引号会报错的
追答
不能加转义符哈,如果表名是关键字,用``
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冥想者water
2013-09-09
知道答主
回答量:16
采纳率:100%
帮助的人:9.3万
展开全部
数据库 和映射文件 或者注解 的字段名最好一样 大小写一致 表字段改成大写 映射关系中也改成大写 试试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式