【问题标题】:Java - handling hierarchiesJava - 处理层次结构
【发布时间】:2010-10-09 22:25:05
【问题描述】:

你好: 我有一个应用程序,其中在线程层次结构(持久实体)中建模如下(请注意,这可能是一个深度嵌套的层次结构):

Thread
{
    private key;
    private rootKey;
    private parentKey;


.. getters ..
.. setters ..
}

我有一个具有以下结构的 DTO

ThreadDTO
{
    private key;
    private rootKey;
    private parentKey;

    ArrayList<ThreadDTO> childThreads;

... getters ...
... setters ...
}

我想将实体实例转换为 DTO。是否有任何可用的标准算法/最佳实践可以最佳地用于进行这种转换? 任何反馈将不胜感激..

【问题讨论】:

    标签: java persistence hierarchy


    【解决方案1】:

    DTO 非常烦人,你可以用它们做的最好的事情是创建一个方法,它在参数中接受 Thread 并复制属性,另一个将返回带有属性副本的 Thread

    Adam Bien 的另一个解决方案是 Generic DTO,安全性较低,但代码中的复制/粘贴也较少。

    【讨论】:

    • 我的问题与如何创建嵌套层次结构(即 ArrayList 的填充)更相关,以便顶级 ThreadDTO 实例包含所有子线程 DTO(自引用层次结构)。
    • @newbie,同样的方式,因为你必须手动复制Thread to ThreadDTO`的所有内容,你只需要浏览你的列表并为每个Thread获取ThreadDTO。小心循环引用。
    • 感谢您的回复。我正在寻找一种性能优化的方式来填充 ArrayList childThreads
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2011-10-17
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多