回答

收藏

JOOQ从表中获取记录并将其插入到另一个表中

技术问答 技术问答 274 人阅读 | 0 人回复 | 2023-09-12

我想从一个表中选择所有的字段,提取到另一个表的记录中,然后将记录插入表中。然而,我犯了一个错误,说值是空的。这是相关的代码段:
8 E/ M% Y- Y; J) W0 v  U                // Fetch    PersonDeactivatedRecord person = getContext().selectFrom(PERSON)            .where(PERSON.ID.eq(id))            .fetchOneInto(PersonDeactivatedRecord.class);    // Insert    person.setDeactivatedOn(new Timestamp(System.currentTimeMillis());    getContext().insertInto(PERSON_DEACTIVATED)            .set(person)            .execute();该person_deactivated表是表的副本,person外加一列(deactivated_on)。我的错误是这样的:$ F" X( p$ i& v: L
org.jooq.exception.DataAccessException: SQL [insert into "xxx"."person_deactivated" ("deactivated_on") values (cast(? as timestamp))]; ERROR: null value in column "id" violates not-null constraint  Detail: Failing row contains (null,null,null,null,null,null,null,null,null,...)请注意,当我调试这个代码时,我看到了person对象已按预期完全填满。你知道我在这里缺少什么吗?
3 a/ s* I/ l5 f                                                                - {( O3 z+ F& f# j& ]- `, u1 J/ x
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则