JOOQ конкатенация

Имам запитване като това:

Result<?> result = create.select(CONSUMER.CONS_ID_NO,
                                             CONSUMER.CONS_NAME,
                                             concat(CONSUMER.AREA_CODE, "/", CONSUMER.CONS_NO, "/", CONSUMER.CAT_CODE).as("ConsNo"),
                                             CONSUMER.ARREARS)
                                            .from(CONSUMER)
                                            .fetch();

Написах това според Ръководството на JOOQ, но получавам грешка което казва:

Методът concat(String...) в типа Factory не е приложим за аргументите (TableField, String, TableField, String, TableField)

Използвам JOOQ-3.


person kaushik    schedule 13.03.2013    source източник
comment
Не съм достатъчно запознат с JOOQ, за да изложа това като отговор, но се чудя дали искате да използвате метода .getName() на TableField, за да получите низ вместо TableField за CONSUMER.AREA_CODE и т.н.   -  person DarenW    schedule 13.03.2013


Отговори (1)


Изглежда, че пробата в ръководството не работи. Можете обаче да конвертирате низ във Filed чрез org.jooq.impl.Factory.val.

    Record result = create.select(
            concat(AUTHOR.FIRST_NAME, val(" "), AUTHOR.LAST_NAME).as("Full Name")
    ).from(AUTHOR).fetchAny();

Моля, вижте този имейл от Лукас Едер за подробности

person longhua    schedule 13.03.2013