Как определить явную привязку с помощью конфигурации maven: координаты - PullRequest
0 голосов
/ 25 апреля 2018

Когда я генерирую Java-классы из генератора jooq, я получаю устаревшее одно поле:

/**
 * @deprecated Unknown data type. Please define an explicit {@link org.jooq.Binding} to specify how this type should be handled. Deprecation can be turned off using <deprecationOnUnknownTypes/> in your code generator configuration.
 */
@java.lang.Deprecated
public final TableField<PositionRecord, Object> COORDINATES = createField("coordinates", org.jooq.impl.DefaultDataType.getDefaultDataType("point"), this, "");

Я не уверен, что знаю, как определить привязку в моей конфигурации maven с типом "Point".

Есть идеи?

Редактировать:

<configuration>

    <!-- JDBC connection parameters -->
    <jdbc>
        <driver>com.mysql.jdbc.Driver</driver>
        <url>jdbc:mysql://localhost:3306/${jooq.generation.schema}</url>
        <user>${jooq.generation.user}</user>
        <password>${jooq.generation.password}</password>
    </jdbc>

    <!-- Generator parameters -->
    <generator>
        <generate>
            <javaTimeTypes>true</javaTimeTypes>
        </generate>
        <database>
            <name>org.jooq.util.mysql.MySQLDatabase</name>
            <includes>.*</includes>
            <dateAsTimestamp>true</dateAsTimestamp>

            <!-- In case your database supports catalogs, e.g. SQL Server:
            <inputCatalog>public</inputCatalog>
              -->
            <inputSchema>${jooq.generation.schema}</inputSchema>
        </database>
        <target>
            <packageName>${jooq.generation.package}</packageName>
            <directory>target/generated-sources/jooq</directory>
        </target>
    </generator>
</configuration>

До сих пор я мог использовать свои классы Java, сгенерированные этой конфигурацией.Но некоторые поля устарели, потому что некоторые «Тип данных» не распознаются.Итак, я обнаружил, что мы можем использовать «тип силы» и поместить его в конфигурацию maven + добавив соответствующую привязку, чтобы сообщить jooq об этом типе данных.Например, в нашем случае: мы хотим иметь возможность добраться до поля «Координаты» (как тип точки в Java).Надеюсь, я был достаточно ясен.

1 Ответ

0 голосов
/ 30 апреля 2018

Вы уже ответили на свой вопрос:

Итак, я обнаружил, что мы можем использовать «тип силы» и поместить его в конфигурацию maven + добавив соответствующую привязку, чтобы сообщить jooq об этом типе данных

Это правильный путь, вам нужно использовать привязку типа данных: https://www.jooq.org/doc/latest/manual/code-generation/custom-data-type-bindings

Следуйте инструкциям из руководства, и все будет в порядке.

...