我有一个包含 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
我是否被迫指定列名?

最佳答案

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

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

关于java - 在不指定列名的情况下在 jOOQ 中插入记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54127893/

10-11 14:35