如何排除字段被复制

时间:2013-06-12 11:53:41

标签: java sql jooq

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

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

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

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

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

并且只复制了三个字段。

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

1 个答案:

答案 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);