【问题标题】:What's the recommend way of cloning a jOOQ Record object?克隆 jOOQ Record 对象的推荐方法是什么?
【发布时间】:2019-05-09 16:41:26
【问题描述】:

好像你不能创建一个复制构造函数,你不能让它实现可克隆。

我正在考虑使用反射来迭代子类的每个属性,但有没有更好的方法?

【问题讨论】:

    标签: java jooq


    【解决方案1】:

    好像你不能创建一个复制构造函数,你不能让它实现可克隆。

    您可以自己在代码生成器中轻松实现这些东西。在you will need to generate some custom codeCloneable 这两种情况下,您都需要编写生成器策略(programmaticconfigurative),将Cloneable 接口添加到所有生成的记录中。

    如果您不使用生成的记录,或者如果您想克隆任意记录,您仍然可以使用许多 Record.into() methods 之一,它将记录内容复制到新类型中。

    【讨论】:

    • 谢谢!超级有帮助。你知道我们是否也可以在生成器中添加一个表达式吗?我只想将implements Cloneable 添加到几条记录中,而不是添加到每条记录中。
    • @LukeXu:请阅读与生成器策略相关的链接文档,尤其是configurative 一个。寻找<recordImplements>
    【解决方案2】:

    为了复制一条记录,我使用了UpdatableRecord.copy() 方法。

    /**
     * Duplicate this record (in memory) and reset all fields from the primary
     * key or main unique key, such that a subsequent call to {@link #store()}
     * will result in an <code>INSERT</code> statement.
     *
     * @return A new record, distinct from <code>this</code> record.
     */
    R copy();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 2021-03-20
      相关资源
      最近更新 更多