3

Jooq 提供了一个from()方法,可以让您将 DTO 复制到记录中。

但是,我只想复制一些字段以防止客户端更新只读信息。

理想情况下,我希望能够编写如下内容:

myrecord.from( mybean, "name", "description", "someOtherField") 

或者

myrecord.from( mybean, User.NAME, User.DESCRIPTION, User.SOME_OTHER_FIELD)

并且只复制了三个字段。

当然,它可以通过例如手动调用 getter/setter 来完成,但我希望有一种更简单的方法。

4

1 回答 1

1

使用 jOOQ 3.0,您的问题没有精益解决方案,除了您所说的:手动复制值。

在 jOOQ 3.1 [#2519]中,您可以执行以下任何操作:

// Referencing fields that might be contained in myrecord
myrecord.from(mybean, User.NAME, User.DESCRIPTION, User.SOME_OTHER_FIELD);

// Referencing field names that might be contained in myrecord
myrecord.from(mybean, "name", "description", "some_other_field");

// Referencing field indexes that might be contained in myrecord
myrecord.from(mybean, 3, 4, 7);
于 2013-06-12T12:43:18.800 回答