【发布时间】:2010-07-22 00:04:12
【问题描述】:
我从 C++ 中借用了“切片”的含义。
假设我有一个通过 Hibernate 持久化的简单 POJO:
class Person {
private long id;
private String name;
...
// getters and setters here
...
}
现在,当我从数据库中检索一个对象时,我知道它是由 Hibernate “检测”的(它的真实类是自动生成的 Person 派生类)。我想将它转换回一个“普通”的人对象。例如,将使用 Tnat 将对象提交给 XStream 并让结果仅包含 Person 包含的内容。
我可以通过定义一个复制构造函数来做到这一点,但是我不想为每个 ORM 类编写复制构造函数的麻烦(更不用说违反 DRY 原则了)。
所以我想知道如果
a) 是否已经有一个 Java 库可以做到这一点? b) 如果没有,用反射写一个是否可行?
在 (b) 的情况下,任何建议/指南/代码框架都将不胜感激。
【问题讨论】:
标签: java reflection pojo slice