在jOOQ中插入记录而不指定列名

时间:2019-01-10 11:39:01

标签: java jooq

我有一个具有5列的表USER_ROLES。另外,类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

我被迫指定列名吗?

1 个答案:

答案 0 :(得分:1)

如果您已生成UserRolesRecord,并且您的UserRole类遵循DefaultRecordMapper定义的命名约定,则可以将自定义UserRole内容加载到记录中像这样:

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