首页 > 数据库 >hibernate2中实体字段太长并且相似导致生成的原生sql字段名重复

hibernate2中实体字段太长并且相似导致生成的原生sql字段名重复

时间:2024-12-19 16:30:42浏览次数:8  
标签:hibernate2 重复 hol0 _. 字段 sql 字段名

1:错误的hbm.xml

<property name="holiday1" type="java.lang.String" >
            <column name="HOLIDAY1"/>
        </property>
        <property name="holiday1Start" type="java.util.Date">
            <column name="HOLIDAY1_START"/>
        </property>
        <property name="holiday1End" type="java.util.Date">
            <column name="HOLIDAY1_END"/>
        </property>
        <property name="holiday1Work1" type="java.util.Date">
            <column name="HOLIDAY1_WORK1"/>
        </property>
        <property name="holiday1Work2" type="java.util.Date">
            <column name="HOLIDAY1_WORK2"/>
        </property>
        <property name="holiday2" type="java.lang.String">
            <column name="HOLIDAY2"/>
        </property>
        <property name="holiday2Start" type="java.util.Date">
            <column name="HOLIDAY2_START"/>
        </property>
        <property name="holiday3" type="java.lang.String">
            <column name="HOLIDAY3"/>
        </property>
        <property name="holiday3Start" type="java.util.Date">
            <column name="HOLIDAY3_START"/>
        </property>

2:导致生成的原生sql字段别名重复.数据库报错ORA-00918: 未明确定义列

hol0_.HOLIDAY1START as HOLIDAY14_,--重复
hol0_.HOLIDAY1END   as HOLIDAY15_,
hol0_.HOLIDAY1WORK1 as HOLIDAY16_,
hol0_.HOLIDAY1WORK2 as HOLIDAY17_,
hol0_.HOLIDAY2      as HOLIDAY2,
hol0_.HOLIDAY2START as HOLIDAY29_,
hol0_.HOLIDAY2END   as HOLIDAY10_,
hol0_.HOLIDAY2WORK1 as HOLIDAY11_,
hol0_.HOLIDAY2WORK2 as HOLIDAY12_,
hol0_.HOLIDAY3      as HOLIDAY3,
hol0_.HOLIDAY3START as HOLIDAY14_,--重复

3解决方法就是把字段名改短

        <property name="holiday1" type="java.lang.String" >
            <column name="DAY1"/>
        </property>
        <property name="holiday1Start" type="java.util.Date">
            <column name="DAY1_START"/>---由HOLIDAY1_START改为DAY1_START
        </property>
        <property name="holiday1End" type="java.util.Date">
            <column name="DAY1_END"/>
        </property>
        <property name="holiday1Work1" type="java.util.Date">
            <column name="DAY1_WORK1"/>
        </property>
        <property name="holiday1Work2" type="java.util.Date">
            <column name="DAY1_WORK2"/>
        </property>
        <property name="holiday2" type="java.lang.String">
            <column name="DAY2"/>
        </property>
        <property name="holiday2Start" type="java.util.Date">
            <column name="DAY2_START"/>
        </property>
        <property name="holiday2End" type="java.util.Date">
            <column name="DAY2_END"/>
        </property>
        <property name="holiday2Work1" type="java.util.Date">
            <column name="DAY2_WORK1"/>
        </property>
        <property name="holiday2Work2" type="java.util.Date">
            <column name="DAY2_WORK2"/>
        </property>
        <property name="holiday3" type="java.lang.String">
            <column name="DAY3"/>
        </property>
        <property name="holiday3Start" type="java.util.Date">
            <column name="DAY3_START"/>
        </property>
        <property name="holiday3End" type="java.util.Date">
            <column name="DAY3_END"/>
        </property>

标签:hibernate2,重复,hol0,_.,字段,sql,字段名
From: https://www.cnblogs.com/javaeye235/p/18617523

相关文章

  • MySQL的日志机制
    MySQL日志机制随笔(redolog、binlog、undolog)redolog相关作用:保证数据库的恢复能力,数据库崩溃了,能使用redolog恢复数据是什么?redolog是物理日志,记录的是哪个数据页哪个字段被哪个事务改变了,速记:redolog是一种写前日志,先写redolog,等到数据库闲的时候再去写数据库文件redolog是......
  • mysql的内部组件结构
    大体来分,MySQL分为引擎层和server层server层连接器、查询缓存、分析器(解释器)、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。连接器Navicat建立和MyS......
  • [深入探讨 Google Cloud SQL for PostgreSQL 的使用:Langchain 集成]
    文章目录概要整体架构流程技术名词解释技术细节小结概要提示:这里可以添加技术概要例如:openAI的GPT大模型的发展历程。整体架构流程提示:这里可以添加技术整体架构例如:在语言模型中,编码器和解码器都是由一个个的Transformer组件拼接在一起形成的。技术......
  • 后端代码处理业务和sql处理业务的抉择
    转载:https://blog.csdn.net/weixin_45203607/article/details/120252073语言不限(javac#go…)数据库(关系型数据库)不限(mysqlPostgreSQLmongodboracle…)下面我就以java和mysql来讲解使用sql语句处理业务代码和使用java处理业务的区别(其他语言和数据库都一样)在互......
  • 常见漏洞—SQL注入
    前段时间刷了技能树,趁热打铁,把学到的知识点总结一下1.SQL注入类别1-1.按照有无回显可以把SQL注入分为有回显的SQL注入盲注1-2.按照SQL注入方法可以分为Union注入布尔注入时延注入报错注入1-3.按照注入位置可以分为GET参数注入POST参数注入HTTP请求头注入2.攻击思路寻......
  • MySQL中EXPLAIN的Extra字段值Using index 或 Using index,Using where 或 Using where
    MySQL的架构分成了server层和存储引擎层(storageengine),server层通过调用存储引擎层来返回数据。1.Usingindex表示查询的列被索引覆盖,因而无需回表查询,因而效率更高。2.Usingindex,Usingwhere表示查询的列被索引覆盖,且where筛选条件是索引列前导列的一个范围,或者是索引列的......
  • nacos兼容sqlserver数据库
    源码连接:wanqiu/nacos-datasource-support1、最外层pom.xml添加驱动:<dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>12.6.0.jre8</version></dependency>2......
  • C#使用log4net和sqlite数据库记录日志
    1安装包两个包:log4netSystem.Data.SQLite第二个包也可以使用Microsoft.Data.Sqlite,查到的资料显示如果环境使用的是.NETCore或.NET5+,则建议使用Microsoft.Data.Sqlite。但是我并没有测试第二个包,可能使用上有区别。2下载Sqlite如果本地没有sqlite环境的话,需要先下......
  • 大数据 | 数据存储技术与应用深度解析,HDFS/ Kudu/ 云对象存储/ NoSQL数据库,及数据虚拟
    一、大数据存储的基本需求要理解大数据存储技术的发展方向,首先需要明确大数据存储面临的挑战和需求。1.数据规模:高扩展性大数据通常以TB、PB甚至EB为单位进行计算,因此,数据存储系统需要具备高扩展性,能够随着数据量的增长快速增加存储容量。例如,传感器网络、社交媒体、或......
  • MacOS+vscode调试mysql8.0源码
    环境:MacOsM1vscode前置:安装brew##安装brew/usr/bin/ruby-e"$(curl-fsSLhttps://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"##环境变量eval"$(/opt/homebrew/bin/brewshellenv)"下载源码带boost版本下载之后解压vscode插件安装##直接搜索,然后安......