hibernate联合主键,使用insert select插入数据报错

在尝试使用 Hibernate 和 HSQL 数据库进行数据导入时,遇到一个错误:`org.hibernate.QueryException: could not resolve property: of: com.miextreme.chinas.entity.CasFinanceData`。该错误发生在尝试通过 INSERT INTO SELECT 语句从 CasFinanceDataTemp 导入数据到 CasFinanceData 的过程中,两个表的主键为 asCode 和 financeUpdateDate。报错表明 Hibernate 无法识别 CasFinanceData 实体中的某个属性。寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语句如下:
INSERT INTO CasFinanceData (id.asCode,id.financeUpdateDate,asName) SELECT a.id.asCode,a.id.financeUpdateDate,a.asName FROM CasFinanceDataTemp a where a.id not in (SELECT id from CasFinanceData)
其中:CasFinanceData表结构与CasFinanceDataTemp一致,CasFinanceDataTemp作为临时表辅助进行数据导入操作。asCode、financeUpdateDate为联合主键。
报错信息如下:
Caused by: org.hibernate.QueryException: could not resolve property: of: com.miextreme.chinas.entity.CasFinanceData
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:83)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:77)
at org.hibernate.persister.entity.AbstractEntityPersister.getSubclassPropertyTableNumber(AbstractEntityPersister.java:1995)
at org.hibernate.hql.internal.ast.tree.IntoClause.isSuperclassProperty(IntoClause.java:233)
at org.hibernate.hql.internal.ast.tree.IntoClause.visitPropertySpecNodes(IntoClause.java:175)
at org.hibernate.hql.internal.ast.tree.IntoClause.initializeColumns(IntoClause.java:157)
at org.hibernate.hql.internal.ast.tree.IntoClause.initialize(IntoClause.java:65)
at org.hibernate.hql.internal.ast.HqlSqlWalker.createIntoClause(HqlSqlWalker.java:1231)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.intoClause(HqlSqlBaseWalker.java:859)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.insertStatement(HqlSqlBaseWalker.java:499)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:273)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:278)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:206)
... 66 more

求高手解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值