5

JOOQ を使用して MySql にレコードを挿入しています。これが私のコードです

if (f.getConnection()!=null) {
    UserRecord us = new UserRecord();
    us.setAccountId(UInteger.valueOf(accountId));
    us.setCode(code);
    us.setEnd(new java.sql.Date(end.getTime()));
    us.setStart(new java.sql.Date(start.getTime()));
    us.setPhoneNumberId(UInteger.valueOf(phnNUmberId));            
    us.store();
}

(f はデータベース接続ファクトリ クラス)スレッド "main"
org.jooq.exception.DetachedException
: Cannot execute query. で例外が発生します。接続が構成されていません

しかし、データベース接続はヌルです。理由は何ですか?
(選択クエリは同じ接続で動作しています)

4

1 に答える 1

11

ユーザーレコードはそれに「添付」されていませんFactory(jOOQ 2.0、より最近のバージョンでは、と呼ばれConfigurationます)。次の 2 つのオプションがあります。

// Attach the user record prior to calling "store"
f.attach(us);
us.store();

// Create a pre-attached user record:
UserRecord us = f.newRecord(Tables.USER);
// [...]
us.store();

アタッチされていない場合、jOOQ がレコードを保存するために使用する必要があるファクトリ (構成) を検出する方法がありません。

于 2012-10-01T10:41:25.090 に答える