Giải pháp:Sử dụng DSL.val(java.lang.Object value, DataType<T> type)
thay vì chỉ DSL.val(java.lang.Object value)
Sau đây là đoạn mã được cập nhật
public void copy(UUID source, UUID target) {
DataType<UUID> uuidType = SQLDataType.BINARY
.asConvertedDataType(new UuidBinaryConverter());
jooq.insertInto(PERSON)
.columns(PERSON.ID, PERSON.FNAME, PERSON.LNAME)
.select(select(val(target, uuidType), PERSON.FNAME, PERSON.LNAME)
.from(PERSON)
.where(PERSON.ID.eq(source)))
.execute();
}