hibernate 在表名映射时如何保持大小写区分呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate 在表名映射时如何保持大小写区分呢?相关的知识,希望对你有一定的参考价值。
就是表为T_XXX不要被映射为t_xxx而是保持原样的(T_XXX),因为我的数据库是大小写区分的,而我不能改数据库
hibernate配置时每个<class>对映一对“java类——数据库表”映射,name属性写完整类名,table属性写表名。按你要求,设<class name="xxx.xxx.xxx.T_XXX" table="T_XXX" ">这样就保持原样了。
实际上不必强求名字一致,所谓映射就是“画条线连接两个现成的东西”,你随便选个类、再选个数据结构相同的表,把它们名字填进去,都是对的。 参考技术A hibernate映射文件的命名是随意的,想怎么起都行。只要hibernate的配置文件里加入就行了。如下
<property name="mappingResources">
- <list>
<value>com/Eegg/ORM/Admin.hbm.xml</value>
<value>com/Eegg/ORM/Cart.hbm.xml</value>
<value>com/Eegg/ORM/CartList.hbm.xml</value>
<value>com/Eegg/ORM/City.hbm.xml</value>
<value>com/Eegg/ORM/Goods.hbm.xml</value>
<value>com/Eegg/ORM/Linked.hbm.xml</value>
<value>com/Eegg/ORM/Member.hbm.xml</value>
<value>com/Eegg/ORM/Note.hbm.xml</value>
<value>com/Eegg/ORM/OrderList.hbm.xml</value>
<value>com/Eegg/ORM/Orders.hbm.xml</value>
<value>com/Eegg/ORM/Province.hbm.xml</value>
<value>com/Eegg/ORM/Types.hbm.xml</value>
<value>com/Eegg/ORM/Favorite.hbm.xml</value>
</list>
</property>
映射文件名和表名是没有必然联系的,只要在映射文件中指定表名和字段名就行了。如下,table就代表表名。
<hibernate-mapping>
<class name="com.Eegg.ORM.Admin" table="Admin" schema="dbo" catalog="Eegg" lazy="false">
<id name="aid" type="java.lang.Integer">
<column name="aID" />
<generator class="native" />
</id>
<property name="aname" type="java.lang.String">
<column name="aName" length="15" not-null="true" />
</property>
<property name="apass" type="java.lang.String">
<column name="aPass" length="15" not-null="true" />
</property>
<property name="apur" type="java.lang.Integer">
<column name="aPur" not-null="true" />
</property>
<property name="aremark" type="java.lang.String">
<column name="aRemark" length="50" />
</property>
<property name="photo" type="java.lang.String">
<column name="photo" length="50" />
</property>
</class>
</hibernate-mapping>本回答被提问者和网友采纳 参考技术B 你是用MYECLIPSE自动生成?
那建议手动改吧
如果我理解不对的话,那你就改hbm.xml
在table属性里可以设置映射关系
hibernate配置文件怎么修改才能使表名、字段名区分大小写
加双引号的方法虽然可以,但是所有表名、字段名都加双引号很难看,我希望有其他的方法;我的数据库是区分大小写的,而且我的表名、字段名统一都是大写;但是调用getHibernateTemplate()相关方法时会报错,表(user,数据库实际是USER)不存在
hibernate配置文件:
<hibernate-mapping>
<class name="fengx.domain.UserInfo" table="USER_INFO">
<id name="id" type="java.lang.String">
<column name="ID" />
<generator class="uuid" />
</id>
<property name="userName" type="java.lang.String">
<column name="USER_NAME" length="40" />
</property>
</class>
</hibernate-mapping>
以上是关于hibernate 在表名映射时如何保持大小写区分呢?的主要内容,如果未能解决你的问题,请参考以下文章
hibernate配置文件怎么修改才能使表名、字段名区分大小写
hibernate映射postgreSQL数据库中的表时,表名是大写的时候为啥hibernate不能映射实体