jooq提供了一个from()方法,让您将一个dto复制到一个记录中。
但是,我只想复制一些字段,以防止客户端更新只读信息。
理想情况下,我希望能够写一些东西,比如:

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


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

只复制了三个字段。
当然,可以通过手动调用getter/setter来完成,但我希望有一种更简单的方法。

最佳答案

使用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);

09-07 20:09