如何让hibernate映射时字段区分大小写

如何让hibernate映射时字段区分大小写,第1张

CREATE TABLE "RISK"."FE_FIELD_INPUT"  (  

   "ID"                 INTEGER                         NOT NULL,  

   "inputname"               VARCHAR2(100),  

   "inputcode"           VARCHAR2(100),  

   CONSTRAINT PK_FE_FIELD_INPUT PRIMARY KEY ("ID")  

)

注意看,字段名是加了引号的,查看一下创建后的表,在数据库中显示确实是小写的。 

所以会报上面的异常,hibernate会自动将字段名改成大写

oracle是不区分大小写的,会自动转换成大写。

CREATE TABLE RISK.FE_FIELD_INPUT  (  

   ID                 INTEGER                         NOT NULL,  

   inputname               VARCHAR2(100),  

   inputcode           VARCHAR2(100),  

   CONSTRAINT PK_FE_FIELD_INPUT PRIMARY KEY ("ID")  

)

Oracle的数据库的对象名,就是不区分大小写的啊。

除非你建表的时候用双引号引起来的,比如"tablename"(强烈不建议这么做)

否则,TableName 、 TABLENAME、tablename

都是一样的,在oracle系统中都是以 大写 TABLENAME 方式存储的表名信息。

hibernate配置时每个<class>对映一对“java类——数据库表”映射,name属性写完整类名,table属性写表名。

按你要求,设<class name="xxx.xxx.xxx.T_XXX" table="T_XXX" ">这样就保持原样了。

实际上不必强求名字一致,所谓映射就是“画条线连接两个现成的东西”,你随便选个类、再选个数据结构相同的表,把它们名字填进去,都是对的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9816338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存