は、私は、同じ名前の2つの機能を持っていたことに気づいたが、SQLで合法的である異なるパラメータ/列出力、(AT少なくともPostgreSQL)。
jOOQは、そのような場合(少なくとも3.8.1まで)のクラスを生成するように管理されていましたが、これ以上できません。私は2つの機能のうちの1つを削除しようとしました。私はそれを再現し、それは再び失敗しました。
以前の動作を戻すパラメータがありますか?
は私がjOOQ 3.8.1を使用してきたし、それがうまく働いた
ORIGINAL POST
ありがとうございます。今日、私は3.10.2にアップグレードすることを試みたが、発電機はもう動作しません、それはいくつかの機能については、表とレコードクラスで重複変数/関数を生成します。
はmy_function(表)クラス
/**
* The column <code>public.my_function.pde_id</code>.
*/
public final TableField<My_FunctionRecord, Long> PDE_ID = createField("pde_id", org.jooq.impl.SQLDataType.BIGINT, this, "");
/**
* The column <code>public.my_function.pde_id</code>.
*/
public final TableField<My_FunctionRecord, Long> PDE_ID = createField("pde_id", org.jooq.impl.SQLDataType.BIGINT, this, "");
[...same for all fields]
My_FunctionRecordクラス
/**
* Setter for <code>public.my_function.pde_id</code>.
*/
public void setPdeId(Long value) {
set(0, value);
}
/**
* Getter for <code>public.my_function.pde_id</code>.
*/
public Long getPdeId() {
return (Long) get(0);
}
/**
* Setter for <code>public.my_function.pde_id</code>.
*/
public void setPdeId(Long value) {
set(1, value);
}
/**
* Getter for <code>public.my_function.pde_id</code>.
*/
public Long getPdeId() {
return (Long) get(1);
}
[...same for all fields]
public My_FunctionRecord(Long pdeId, Long pdeId, [...same for all fields]) {
super(My_Function.MY_FUNCTION);
set(0, pdeId);
set(1, pdeId);
[...same for all fields]
}
私は3.9.1でテストされ、私は同じ結果を得ます。それは既知の問題ですか?
私jooqジェネレータの設定があります:
<generator>
<database>
<name>${db.jooq}</name>
<includes>.*</includes>
<excludes></excludes>
<inputSchema>public</inputSchema>
</database>
<generate>
<records>true</records>
<deprecated>false</deprecated>
</generate>
<target>
<packageName>com.generated.jooq</packageName>
<directory>${project.basedir}/src/main/java</directory>
</target>
</generator>
、この質問も上頼まれましたメーリングリスト:https://groups.google.com/forum/#!topic/jooq-user/NPLtbPaTQmM、GitHub:https://github.com/jOOQ/jOOQ/issues/6896 –