Java 如何使用JOOQ store()方法?

Java 如何使用JOOQ store()方法?,java,sql,jooq,Java,Sql,Jooq,“当我问起JOOQ的行为时,”Aaron Digulla告诉我使用store()方法。但在我的例子中,我使用事务类来执行所有的删除、更新、获取操作 Transaction transaction = Transaction.current(); int status = transaction.insert(myRecord); 但我想根据记录进行插入或更新(如果是新的,则插入,否则更新),我得到了store()方法来处理这个问题,但是store()使用记录对象

“当我问起JOOQ的行为时,”Aaron Digulla告诉我使用store()方法。但在我的例子中,我使用事务类来执行所有的删除、更新、获取操作

        Transaction transaction = Transaction.current();
        int status = transaction.insert(myRecord);
但我想根据记录进行插入或更新(如果是新的,则插入,否则更新),我得到了
store()
方法来处理这个问题,但是
store()
使用记录对象

        myRecord.store();
当我执行此操作时,我得到异常
未配置连接
正常,因为此对象未附加任何事务。因此,在我的例子中,如何使用
store()
方法。还有一个问题是,它是否支持批处理
update
insert
store()
方法

Transaction is our own class where we used 
TransactionFactory.getCurrentTransaction()
public static Transaction getCurrentTransaction() {
        return threadLocal.get();
    }

myRecord是JOOQ生成的Record类的一个对象,我建议您只需遵循下面的说明,即如何从
配置创建新的
可更新记录
(在您的情况下,这可能对应于
事务

DSLContext create = DSL.using(...);

// Create a new record
BookRecord book1 = create.newRecord(BOOK);

// Insert the record: INSERT INTO BOOK (TITLE) VALUES ('1984');
book1.setTitle("1984");
book1.store();

// Update the record: UPDATE BOOK SET PUBLISHED_IN = 1984 WHERE ID = [id]
book1.setPublishedIn(1948);
book1.store();
请注意对的调用

批量存储
请考虑JavaDoc。当然,你可能可以和你的同事(我想)在这里进行检查:

< P>五年后,如果你还使用java和Jooq,你可以试试3.11.2或最新版本。
3.10.6~3.11.1版本中的jOOQ有一些错误。您可以在中找到更多信息。

您能告诉我们您是如何创建
myRecord
?另外,什么是
Transaction
?它不是包含更多代码的jOOQ问题的一部分吗?