Den syntaks, du bruger, er til at indsætte flere poster. Dette vil indsætte 4 poster, hver med et felt.
.values(node.getParentid())
.values(node.getName())
.values(node.getRem())
.values(node.getUipos())
Men du erklærede 4 felter, så det kommer ikke til at virke:
create.insertInto(Tblcategory.TBLCATEGORY,
Tblcategory.PARENT_ID, Tblcategory.NAME, Tblcategory.REM, Tblcategory.UIPOS)
Det, du sandsynligvis vil gøre, er dette:
Result<TblcategoryRecord> result = create
.insertInto(Tblcategory.TBLCATEGORY,
Tblcategory.PARENT_ID, Tblcategory.NAME, Tblcategory.REM, Tblcategory.UIPOS)
.values(node.getParentid(), node.getName(), node.getRem(), node.getUipos())
.returning(Tblcategory.CATEGORY_ID)
.fetch();
Eller alternativt:
Result<TblcategoryRecord> result = create
.insertInto(Tblcategory.TBLCATEGORY)
.set(Tblcategory.PARENT_ID, node.getParentid())
.set(Tblcategory.NAME, node.getName())
.set(Tblcategory.REM, node.getRem())
.set(Tblcategory.UIPOS, node.getUipos())
.returning(Tblcategory.CATEGORY_ID)
.fetch();
Sandsynligvis er du endnu bedre stillet ved at bruge
TblcategoryRecord result =
// [...]
.fetchOne();
For flere detaljer, se vejledningen:
http://www.jooq. org/doc/2.6/manual/sql-building/sql-statements/insert-statement/
Eller Javadoc til oprettelse af INSERT
udsagn, der returnerer værdier:
http://www.jooq.org/javadoc/latest/org /jooq/InsertReturningStep.html