2 lansedeshuyue lansedeshuyue 于 2013.07.30 16:58 提问

Hibernate3中,有两个表,从表主键名叫“zhujian” 有一个属性叫“id”

Hibernate3中,有两个表,从表主键名叫“zhujian” 有一个属性叫“id”
报错如下
七月 30 16:02:56 , 602 DEBUG ErrorCounter:68 - throwQueryException() : no errors
七月 30 16:02:56 , 602 DEBUG QueryTranslatorImpl:216 - HQL: select u from com.lucky.bizmodule.lottracking.productsample.bizlogic.model.CSamplecardoutd u ** where u.id ='R13071900046' **

七月 30 16:02:56 , 602 DEBUG QueryTranslatorImpl:217 - SQL: select csamplecar0_.zhujian as zhujian1644_, csamplecar0_.OUTID as OUTID1644_, csamplecar0_.id as id1644_, csamplecar0_.PRODUCTCODE as PRODUCTC4_1644_, csamplecar0_.OLDCODE as OLDCODE1644_, csamplecar0_.DESCRIPTION as DESCRIPT6_1644_, csamplecar0_.CARDTYPE as CARDTYPE1644_, csamplecar0_.COLOR as COLOR1644_, csamplecar0_.COMPOSITION as COMPOSIT9_1644_, csamplecar0_.WIDTH as WIDTH1644_, csamplecar0_.WEIGHT as WEIGHT1644_, csamplecar0_.FABRIC as FABRIC1644_, csamplecar0_.SPECIFICATION as SPECIFI13_1644_, csamplecar0_.DENSITY as DENSITY1644_, csamplecar0_.PRICE as PRICE1644_, csamplecar0_.MONEY as MONEY1644_, csamplecar0_.CURRENCY as CURRENCY1644_, csamplecar0_.LENGTH as LENGTH1644_, csamplecar0_.LASTWEIGHT as LASTWEIGHT1644_, csamplecar0_.WARPSHRINKAGE as WARPSHR20_1644_, csamplecar0_.WEFTSHRINKAGE as WEFTSHR21_1644_, csamplecar0_.WARPSLIP as WARPSLIP1644_, csamplecar0_.WEFTSLIP as WEFTSLIP1644_, csamplecar0_.WARPTEAR as WARPTEAR1644_, csamplecar0_.WEFTTEAR as WEFTTEAR1644_, csamplecar0_.MEMO as MEMO1644_, csamplecar0_.QUANTITY as QUANTITY1644_, csamplecar0_.SPARE1 as SPARE28_1644_, csamplecar0_.SPARE2 as SPARE29_1644_, csamplecar0_.CYLINDERNUM as CYLINDE30_1644_, csamplecar0_.STATUS as STATUS1644_, csamplecar0_.OLDID as OLDID1644_ from LEWEI.C_SAMPLECARDOUTD csamplecar0_ where ** csamplecar0_.zhujian='R13071900046' **

七月 30 16:02:56 , 602 DEBUG ErrorCounter:68 - throwQueryException() : no errors
Hibernate: select csamplecar0_.zhujian as zhujian1644_, csamplecar0_.OUTID as OUTID1644_, csamplecar0_.id as id1644_, csamplecar0_.PRODUCTCODE as PRODUCTC4_1644_, csamplecar0_.OLDCODE as OLDCODE1644_, csamplecar0_.DESCRIPTION as DESCRIPT6_1644_, csamplecar0_.CARDTYPE as CARDTYPE1644_, csamplecar0_.COLOR as COLOR1644_, csamplecar0_.COMPOSITION as COMPOSIT9_1644_, csamplecar0_.WIDTH as WIDTH1644_, csamplecar0_.WEIGHT as WEIGHT1644_, csamplecar0_.FABRIC as FABRIC1644_, csamplecar0_.SPECIFICATION as SPECIFI13_1644_, csamplecar0_.DENSITY as DENSITY1644_, csamplecar0_.PRICE as PRICE1644_, csamplecar0_.MONEY as MONEY1644_, csamplecar0_.CURRENCY as CURRENCY1644_, csamplecar0_.LENGTH as LENGTH1644_, csamplecar0_.LASTWEIGHT as LASTWEIGHT1644_, csamplecar0_.WARPSHRINKAGE as WARPSHR20_1644_, csamplecar0_.WEFTSHRINKAGE as WEFTSHR21_1644_, csamplecar0_.WARPSLIP as WARPSLIP1644_, csamplecar0_.WEFTSLIP as WEFTSLIP1644_, csamplecar0_.WARPTEAR as WARPTEAR1644_, csamplecar0_.WEFTTEAR as WEFTTEAR1644_, csamplecar0_.MEMO as MEMO1644_, csamplecar0_.QUANTITY as QUANTITY1644_, csamplecar0_.SPARE1 as SPARE28_1644_, csamplecar0_.SPARE2 as SPARE29_1644_, csamplecar0_.CYLINDERNUM as CYLINDE30_1644_, csamplecar0_.STATUS as STATUS1644_, csamplecar0_.OLDID as OLDID1644_ from LEWEI.C_SAMPLECARDOUTD csamplecar0_ where csamplecar0_.zhujian='R13071900046'
七月 30 16:02:56 , 602 WARN JDBCExceptionReporter:77 - SQL Error: 1722, SQLState: 42000
七月 30 16:02:56 , 602 ERROR JDBCExceptionReporter:78 - ORA-01722: 无效数字
问题是Hibernate3 自动地把从表中的属性名"id",映射为了从表的主键“zhujian”,从而导致报错
有什么办法解决吗,搞了两天了,还没处理

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SQL--当一张表的两个外键指向同一主键
最近遇到了这样一个问题,当一张表中有两个外键同时执行了另外一种表的主键,如何建立一张视图,让这两个外键都找到相应的信息。来实例吧:第一张表,归还记录:第二张表,用户表:问题就是,归还记录表里有两个字段,applicantUserID, operUserID,分别是申请人和操作人,他们作为外键同时指向了用户表的user ID,现在想通过这两个外键获取他们各个ID对应的姓名,即userName.分析:当
MySQL:有关联的两张表重新生成主键如何关联
交代背景: 现在,我们有一个a表和一个b表,a表的某一列“b_old_id”为外键,恰好是b的原有的主键。现在,a表和b表都重新生成了主键,且b原来的主键没有抛弃,存在了b_old_id列里,如何将这两张表关联起来呢? UPDATE `a` INNER JOIN b ON `a`.`b_old_id` = `b`.`b_old_id` SET `a`.`b_id` = `
hibernate 共享的主键关联(多个表共享一个主键)
共享的主键关联:  由主键关联而相关的两张表中的行共享相同的主键值。这种方法的主要困难在于,确保被关联的  实例在保存对象时分配了相同的主键值。  第一步:用xml映射主键关联  view plaincopy to clipboardprint? class name="User"    ....   <one-to-one name="add
关于每一个数据库表都应该有一个单一的字段作为主键的讨论
Computer System Add comments 2010年5月6日更新: 只有真正懂得了这个道理的人, 才算真正理解了关系数据库. 如何才算懂得了这个道理? – 即使你有一百个理由要用关联主键, 你也能找到这唯一的一个理由放弃, 改而使用单一字段做主键. —— 在数据库设计中, 每一个表都应该有一个字段作为主键. 这个字段一般是自增整数字段, 或者某些数据库支持的自动
Hibernate多对多之中间表只有两个外键做联合主键
一般情况下,多对多的关联关系是需要中间表的; 情况一:如果中间表仅仅是做关联用的,它里面仅有2个外键做联合主键,则使用ManyToMany(不用写中间表的Model,只需要写出两张主表的model即可) 学生表 @Entity @Table(name = "T_STUDENT") @SequenceGenerator(name = "SEQ_STUDENT", sequenc
如何让所有实体类用相同名称的主键(很有力的问题,比如所有表实体主键都用ID)
如何让所有实体类用相同名称的主键(很有力的问题,比如所有表实体主键都用ID) 这个问题比较有力量,哈哈! 例如:有两个表userbases和products 两个表的主键分别为UserID和ProductID,那么,我想问有没有一种方法把它们的主键统一起来,用一个字段名称表示呢? 事实上,这个问题可以从一个基础知识说起! 接口,没错就是接口,我们知道接口中的一切,在它的实现类
一张表可以有多少个主键
今天在共工作,做老项目维护的时候无意中发现一张表居然有三个主键。吓死宝宝了,然后尝试着建表建主键,但是都不能成功。 难道是我写的有问题,最后通过查资料总终于解决了。 1、数据库的每张表只能有一个主键,不可能有多个主键。 2、所谓的一张表多个主键,我们称之为联合主键。      注:联合主键:就是用多个字段一起作为一张表的主键。 3、主键的主键的作用是保证数据的唯一性和完整性,同时通过主键
-在数据库中创建一个主键自增列的表,而且其中一个列是唯一列,不存在重名
--在数据库中创建一个主键自增列的表,而且其中一个列是唯一列,不存在重名 CREATE TABLE [dbo].[Date8](  [id] [int] IDENTITY(1,1) NOT NULL primary key,  [date1] [datetime] NULL,  name varchar(20) unique     )         select * from
hibernate 多对多 中间表主键问题 及id生成方式
hibernate多对多中间表,一般都是两个外键,例如<br />用户表(user),主键:userid. <br />角色表(role),主键:roleid. <br />中间表字段为两个外键:userid,roleid作为联合主键。<br />但是如果想在中间表加一个字段作为单独的主键,即设置一个字段id作为主键。并且数据库采用的是oracle数据库,主键不能自增。那么采用hibernate向中间表插数据的时候,就会出现问题,即主键id字段插入为空,会报错误。<br /><br />由于oracle不支
面试题 两个表字段相同更新表A
面试题如下 有两个表 A 表 和 B 表 A 表有 id name B 表有 id name 需要把 B 表 name 放入 A 表中 重复就不添加了  Sql 如下 注: 如果存在主键自增会有问题 目前不考虑 insert into A select * from B where name not in (select name from A)