"PLAYERS_APPEARANCE"というテーブルがあり、 "Class"という名前のフィールドがあるデータベースがあります。データベースの "class"フィールド
私はPlayersAppearance.classがjooqによって生成されたPOJOであるので
PlayersAppearance pp = getCtx().select(PLAYERS_APPEARANCE.RACE,PLAYERS_APPEARANCE.CLASS,PLAYERS_APPEARANCE.GENDER).
from(PLAYERS_APPEARANCE).where(PLAYERS_APPEARANCE.ID.equal(id)).fetchInto(PlayersAppearance.class).get(0);
のようなjooqに照会しています。クラスフィールドの場合はclass_フィールドをJavaで生成し、getClass_()メソッドでアクセスします。 class_が、ネイティブメソッドはgetClass()との競合を避けるために名前を付けられますが、それはまた、データベースのフィールドの値を壊している何とか
問題
PlayersApperance PA = pa.getClass_()を返すNPE
Debugger image: As you can see in the debugger class_ is null
なぜですか?
すべてのフィールドは、デバッガ画面ではnullでも、idですらありません。あなたはデータベースからそのレコードを全く読んでいません – Raffaele
私は、レース、ジェンダー、そしてクラスの3つのフィールドだけを読みました。クラスフィールドは空の1つだけです –
[jOOQ logging](http://www.jooq.org/doc/3.1/manual/sql-execution/logging/)を有効にして何が起こるかを確認してください – Raffaele