【问题标题】:Inserting record in jOOQ without specifying column names在 jOOQ 中插入记录而不指定列名
【发布时间】:2019-06-05 06:37:42
【问题描述】:

我有一个 USER_ROLES 表,它有 5 列。此外,还有一个类 UserRole,它具有与 USER_ROLES 相同数量的字段和名称。

我正在尝试插入一行而不指定列名:

    UserRole ur = new UserRole();
    // UserRole fields setting

    create.insertInto(USER_ROLES).values(ur).execute();

但是当我尝试创建行时出现此错误:

The number of values must match the number of fields

我是否必须指定列名?

【问题讨论】:

    标签: java jooq


    【解决方案1】:

    如果您生成了UserRolesRecord,并且您的UserRole 类遵循DefaultRecordMapper 定义的命名约定,那么您可以将您的自定义UserRole 内容加载到记录中,如下所示:

    UserRole ur = new UserRole();
    // ...
    UserRoleRecord rec = new UserRoleRecord();
    rec.from(ur);
    create.insertInto(USER_ROLES).set(rec).execute();
    

    【讨论】:

      猜你喜欢
      • 2020-08-04
      • 2017-12-29
      • 2020-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 2021-11-06
      • 1970-01-01
      相关资源
      最近更新 更多