1. PositionLinkage config

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.xxx.fmk.model.PositionLinkage"
     table="POSITIONLINKAGE"
     schema="GCD">
        <composite-id>
         <key-property name="clientPositionID"/>
         <key-property name="linkedPositionID"/>
        </composite-id>
        <property name="clientPvtrsID" type="integer">
            <column name="CLIENTPVTRSID" precision="22" scale="0" />
        </property>
        <property name="clientPositionID" type="integer">
            <column name="CLIENTPOSITIONID" precision="22" scale="0" />
        </property>
        <property name="linkedPvtrsID" type="integer">
            <column name="LINKEDPVTRSID" precision="22" scale="0" />
        </property>
        <property name="linkedPositionID" type="integer">
            <column name="LINKEDPOSITIONID" precision="22" scale="0" />
        </property>
        <property name="linkAmount" type="double">
            <column name="LINKAMOUNT" precision="13" scale="6" />
        </property>
        <property name="linkageType" type="string">
            <column name="LINKAGETYPE" length="32" />
        </property>
        <property name="calcType" type="string">
            <column name="CALCTYPE" length="11" />
        </property>
        <property name="version" type="integer">
            <column name="VERSION" precision="22" scale="0" />
        </property>
        <property name="createdBy" type="string">
            <column name="CREATEDBY" length="50" />
        </property>
        <property name="creationTime" type="timestamp">
            <column name="CREATIONDATE"/>
        </property>
        <property name="modifyBy" type="string">
            <column name="MODIFIEDBY" length="50" />
        </property>
        <property name="modificationDate" type="timestamp">
            <column name="MODIFICATIONDATE"/>
        </property>
    </class>
</hibernate-mapping>

2. save or select

select
        positionli0_.clientPositionID as clientPo1_40_,
        positionli0_.linkedPositionID as linkedPo2_40_,
        positionli0_.CLIENTPVTRSID as CLIENTPV3_40_,
        positionli0_.CLIENTPOSITIONID as CLIENTPO1_40_,
        positionli0_.LINKEDPVTRSID as LINKEDPV4_40_,
        positionli0_.LINKEDPOSITIONID as LINKEDPO2_40_,
        positionli0_.LINKAMOUNT as LINKAMOUNT40_,
        positionli0_.LINKAGETYPE as LINKAGET6_40_,
        positionli0_.CALCTYPE as CALCTYPE40_,
        positionli0_.VERSION as VERSION40_,
        positionli0_.CREATEDBY as CREATEDBY40_,
        positionli0_.CREATIONDATE as CREATIO10_40_,
        positionli0_.MODIFIEDBY as MODIFIEDBY40_,
        positionli0_.MODIFICATIONDATE as MODIFIC12_40_
    from
        GCD.POSITIONLINKAGE positionli0_
    where
        positionli0_.linkedPositionID=?

insert
    into
        GCD.POSITIONLINKAGE
        (CLIENTPVTRSID, CLIENTPOSITIONID, LINKEDPVTRSID, LINKEDPOSITIONID, LINKAMOUNT, LINKAGETYPE, CALCTYPE, VERSION, CREATEDBY, CREATIONDATE, MODIFIEDBY, MODIFICATIONDATE,clientPositionID, linkedPositionID)
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

3.exception

09/05/2011 01:47:00, 369 [TIBCO EMS Session Dispatcher (23812)] [ WARN] JDBCExceptionReporter :[77] - SQL Error: 957, SQLState: 42000
09/05/2011 01:47:00, 370 [TIBCO EMS Session Dispatcher (23812)] [ERROR] JDBCExceptionReporter :[78] - ORA-00957: duplicate column name

09/05/2011 01:47:00, 371 [TIBCO EMS Session Dispatcher (23812)] [ERROR] AbstractFlushingEventListener :[301] - Could not synchronize database state with session
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:249)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:92)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
        at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:218)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2174)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2610)
        at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:52)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
        at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
        at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
        at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:570)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:651)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:621)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:311)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy49.processBuyTrade(Unknown Source)
        at com.xxx.biz.position.SwapEventHandler.processSwapTrade(SwapEventHandler.java:282)
        at com.xxx.biz.position.SwapEventHandler.processSwapTrade(SwapEventHandler.java:255)
        at com.xxx.biz.position.SwapEventHandler.processSwapEvent(SwapEventHandler.java:212)
        at com.xxx.fmk.gfinet.ems.EventSubscriber.onMessage(EventSubscriber.java:73)
        at gfinet.messaging.ems.EMSListener.onMessage(EMSListener.java:98)
        at com.tibco.tibjms.TibjmsxSessionImp._submit(TibjmsxSessionImp.java:4088)
        at com.tibco.tibjms.TibjmsxSessionImp._dispatchAsyncMessage(TibjmsxSessionImp.java:2216)
        at com.tibco.tibjms.TibjmsxSessionImp$Dispatcher.run(TibjmsxSessionImp.java:3612)
Caused by: java.sql.BatchUpdateException: ORA-00957: duplicate column name

at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
        at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10698)
        at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:294)
        at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
        ... 30 more

4.solution

change config as below

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.xxx.fmk.model.PositionLinkage"
     table="POSITIONLINKAGE"
     schema="GCD">
        <composite-id>
         <key-property name="clientPositionID" column="CLIENTPOSITIONID"/>
         <key-property name="linkedPositionID" column="LINKEDPOSITIONID"/>
        </composite-id>
        <property name="clientPvtrsID" type="integer">
            <column name="CLIENTPVTRSID" precision="22" scale="0" />
        </property>
        <property name="linkedPvtrsID" type="integer">
            <column name="LINKEDPVTRSID" precision="22" scale="0" />
        </property>
        <property name="linkAmount" type="double">
            <column name="LINKAMOUNT" precision="13" scale="6" />
        </property>
        <property name="linkageType" type="string">
            <column name="LINKAGETYPE" length="32" />
        </property>
        <property name="calcType" type="string">
            <column name="CALCTYPE" length="11" />
        </property>
        <property name="version" type="integer">
            <column name="VERSION" precision="22" scale="0" />
        </property>
        <property name="createdBy" type="string">
            <column name="CREATEDBY" length="50" />
        </property>
        <property name="creationTime" type="timestamp">
            <column name="CREATIONDATE"/>
        </property>
        <property name="modifyBy" type="string">
            <column name="MODIFIEDBY" length="50" />
        </property>
        <property name="modificationDate" type="timestamp">
            <column name="MODIFICATIONDATE"/>
        </property>
    </class>
</hibernate-mapping>

5.reference

http://www.theserverside.com/discussions/thread.tss?thread_id=14842

Hello,

I am calling one create() method in my entity bean. I have correct values for all fields (one int for the primary key and the rest are integer also). When I try to run it I get a strange error which I will paste in at the bottom (duplicate column name).

17:05:44,030 ERROR [OsdProofsWeekReplace] Could not create entity
java.sql.SQLException: ORA-00957: duplicate column name

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
        at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
        at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
        at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
        at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822
)
        at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
va:1446)
        at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
a:1371)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:1900)
   .......... and so on.....

When I have been removed relationships with another entity beans in my cantainer, create() method works correctly -- insert new string into my table. I have many such entity beans and I got one thing -- I may call create() method succesfully when current bean HAS NOT relationships FROM another beans...

I have not a relationship where the foreign keys are part of the primary keys in my case. I have simple integer primary and integer foreign key only.
When I have been turned on debug, I got next error message in jboss application server console:

2002-08-06 09:58:39,167 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.PmInfoVacations] Create: pk=61
2002-08-06 09:58:39,167 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.PmInfoVacations] Executing SQL: SELECT COUNT(*) FROM
PM_INFO_VACATIONS WHERE INFO_VACATION_ID=?
2002-08-06 09:58:39,628 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.PmInfoVacations] Executing SQL: INSERT INTO
PM_INFO_VACATIONS (INFO_VACATION_ID, CLOCK_NUMBER, LEAVE_DAYS, START_DATE, END_DATE, DECREE_NUMBER, DECREE_DATE, NOTES, LEAVE_KIND_ID,
CLOCK_NUMBER) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2002-08-06 09:58:39,888 ERROR [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.PmInfoVacations] Could not create entity
java.sql.SQLException: ORA-00957: duplicate column name
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)

Insert statement here is incorrect -- INFO_VACATION_ID is primary key in this table (Integer), first CLOCK_NUMBER - foreign key from another table, LEAVE_KIND_ID - foreign key to another table (it is unimportant in this case) and other fields -- just data. But what is second CLOCK_NUMBER field in this INSERT statement? First CLOCK_NUMBER - real field in the table, but second... Does anybody has any idea?
Is there any way to solve my problem?

If anyone can help it would be greatly appreciated.

SQL Error: 957, SQLState: 42000 ORA-00957: duplicate column name相关推荐

  1. MySQL SQL Error: 1064, SQLState: 42000 错误

    在 MySQL 中,下表中的字显式被保留.其中大多数字进制被标准 SQL 用作列名 和/或 表名( 例如,GROUP) .少数被保留了,因为 MySQL 需要它们,( 目前) 使用 yacc 解析程序 ...

  2. mysql 42000 报错_MySQL SQL Error: 1064, SQLState: 42000 错误

    你不小心使用了下面的关键字,那么就会报这个错误: SQL Error: 1064, SQLState: 42000 MySQL 关键字和保留字 下面这些是目前 MySQL 所拥有的关键字和保留字,在使 ...

  3. SQL Error: 904, SQLState: 42000

    SQL Error: 904, SQLState: 42000 2011年03月04日 问题: WARN 2011-03-04 09:33:18 org.hibernate.util.JDBCExce ...

  4. mysql sqlstate 42000_MySQL SQL Error: 1064, SQLState: 42000 错误

    在 MySQL 中,下表中的字显式被保留.其中大多数字进制被标准 SQL 用作列名 和/或 表名( 例如,GROUP) .少数被保留了,因为 MySQL 需要它们,( 目前) 使用 yacc 解析程序 ...

  5. ssh mysql 警告_ssh 对数据表查询出错。警告: SQL Error: 1064, SQLState: 42000

    数据表CREATETABLE`order`(`id`varchar(30)NOTNULL,`username`varchar(10)NOTNULL,`productid`int(5)NOTNULL,` ...

  6. mysql报08S01的错误- SQL Error: 0, SQLState: 08S01 偶发

    mysql报08S01的错误- SQL Error: 0, SQLState: 08S01 偶发 后台res回来的值为: {"error_code":"UNKNOWN&q ...

  7. mysql hy000 1030_解决MySQL数据库SQL Error:1030, SQLState: HY000,Got error 28 from storage engine...

    解决MySQL数据库SQL Error:1030, SQLState: HY000,Got error 28 from storage engine MySQL数据库报以下错误: ERROR 22-0 ...

  8. 求助:SQL Error: 17008, SQLState: 08003

    异常: [pool-5-thread-1] WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 17008, SQLS ...

  9. 关于 SQL Error: 1146, SQLState: 42S02的解决方案

    ** 关于 SQL Error: 1146, SQLState: 42S02的解决方案 ** 描述:项目在windows系统上正常运行(链接本地windows mysql数据库),但在linux(当前 ...

最新文章

  1. 久坐 缺乏运动 消化能力 会减弱
  2. Delphi的对象机制浅探[转载]
  3. HTML——CSS的基础语法2
  4. 强化学习2——有模型强化学习MDP(搬砖马尔科夫,贝尔曼等式)
  5. JDK 14:CMS GC是OBE
  6. [引]VS2005 之 Visual Basic 程序的结构
  7. 虚拟专题:知识图谱 | 知识图谱多跳问答推理研究进展、挑战与展望
  8. linq结果转换object_19.07.26 JS 里的数据类型转换amp;普通类型和对象的区别
  9. 串口速度,RS232与MAX232的区别
  10. ssh GSSAPIAuthentication 参数
  11. Win10开机跳过欢迎界面直接进系统桌面的设置方法
  12. Android中Activity、Service和线程之间的通信
  13. 金蝶k3安装详细步骤_ug安装教程详细步骤ug怎么免费安装教程ug软件怎样安装步骤...
  14. 微服务框架自带uuid生成器
  15. 日本CKD电磁阀、CKD、电磁阀、CKD电磁阀
  16. LM1875功放板设计实例
  17. 用python爬取百科糗事的小项目
  18. 专家称银行收取小额账户管理费不合法不道德-小额账户管理费-储户
  19. Word隐藏回车符技巧
  20. 虚幻4地形怎么增加层_怎么快速实现住房自由?学学这位95后小哥哥,花70万自建4层别墅...

热门文章

  1. 电商三巨头交成绩单,这次拼多多输了吗?
  2. Bubble Sort Aizu - ALDS1_2_A
  3. 【Protocol Buffer】Protocol Buffer入门教程(三):proto3与proto2的区别
  4. 【源码类】开源项目汇总
  5. 【Linux】一步一步学Linux——group文件详解(108)
  6. 编程能力强化(4)——模拟SQL语句解析
  7. easyui的tree获取父节点_力扣 1519——子数中标签相同的节点数
  8. mac你没有权限打开应用程序_苹果mac卡顿怎么解决呢?轻松几招让你Mac流畅如新
  9. 对计算机网络的父亲,父亲节朋友圈对老爸说的话 写给父亲催泪的话简短
  10. SSM项目 Jquery实现From表单提交 json后台并接受