Jooq提供from()方法,让您将DTO复制到记录中。
但是,我只想复制一些字段,以防止客户更新只读信息。
理想情况下,我希望能够写出如下内容:
myrecord.from( mybean, "name", "description", "someOtherField")
或
myrecord.from( mybean, User.NAME, User.DESCRIPTION, User.SOME_OTHER_FIELD)
并且只复制了三个字段。
当然可以通过例如手动调用getter / setter,但我希望有一种更简单的方法。
答案 0 :(得分: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);