【发布时间】:2018-10-05 16:36:36
【问题描述】:
当我从 jooq 生成器生成 java 类时,我得到一个字段已弃用:
/**
* @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, "");
我不确定如何使用“Point”类型在我的 Maven 配置上定义绑定。
有什么想法吗?
编辑:
<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 中作为 Point 类型)。我希望我已经足够清楚了。
【问题讨论】:
-
如果你想让人们帮助你,你应该更具体:你想要实现什么,你当前的配置是什么,生成的 Java 类是从哪里来的等等?不幸的是,很多 SO 社区成员都傲慢到在没有任何解释的情况下对您的帖子投反对票——很可能这种不充分的描述是有人投反对票的原因。我们无法读懂您的想法,请说明您的问题。
-
“所以我发现我们可以使用“强制类型”并将其放入 maven 配置中+添加相应的绑定以让 jooq 了解此数据类型” i> - 这是正确的方法,您需要使用数据类型绑定:jooq.org/doc/latest/manual/code-generation/…。您在特别是遇到什么问题?