User1291:
さんからのクエリを見てみましょう、私の他の質問:
SelectConditionStep<Record1<String>> query = create
.select(AUTHOR.LASTNAME.as("AuthorName"))
.from(
(
BOOK.leftOuterJoin(BOOK_AUTHOR).on(BOOK.ID.eq(BOOK_AUTHOR.BOOKID))
).leftOuterJoin(AUTHOR).on(AUTHOR.ID.eq(BOOK_AUTHOR.AUTHORID))
)
.where(BOOK.ID.eq(1))
;
//when
Result<Record1<String>> result = query.fetch();
私は交換してみた場合SelectConditionStep<Record1<String>>
にSelectConditionStep<Record>
、I GET
互換性のないタイプ。
必須:
SelectConditionStep<org.jooq.Record>
見つかりました:
SelectConditionStep<org.jooq.Record1<java.lang.String>>
そして、まだ...
package org.jooq;
import javax.annotation.Generated;
/**
* A model type for a records with degree <code>1</code>
*
* @see Row1
* @author Lukas Eder
*/
@Generated("This class was generated using jOOQ-tools")
public interface Record1<T1> extends Record {...}
そう...何ができますか?
私は非常に何かを明らかに不足していない限り、私はの御馳走インスタンスに許されるべきではないRecord1
彼らがいたかのようにRecord
S?
(:はい、私は完全に精神的ではないよ、私がチェックするために必要なポイントに自分自身に疑問を始めhttps://ideone.com/0O4mOU)
ティロ:
それはちょうどあるジェネリックはJavaでどのように働きますか。
これは、同じエラーメッセージが表示されて、いずれかのコンパイルされません。
ArrayList<Animal> x = new ArrayList<Dog>();
ArrayList<List<String>> x = new ArrayList<ArrayList<String>>();
あなたのようなあなたの変数に何かを入力することもできますSelectConditionStep<? extends Record> query
。このように、あなたは、任意のサブクラスがあることをコンパイラに伝えるRecord
(そうでない場合ではないです)受け入れ可能です。あなたがそれを行う場合は、取得するResult<? extends Record>
列の数や形状はいえ、もはや何かの型保証され、最後に背中を。