是否有从现有数据库生成 JDO 对象的工具?我更喜欢一个很棒的 Eclipse 插件,我可以用它来生成和维护对象,但目前似乎不存在。是否有其他简单的工具来生成数据库对象?
最佳答案
JDO 对象不是数据库行的简单包装器(尽管如果您愿意,您可以将 JDO 对象实现为数据库行的简单包装器)。因此,大多数自动化工具仅通过查看数据库将不知道如何呈现对象。
例如,一个对象如下:
public class Person {
private List<PhoneNumber> phoneNumbers;
...
public List<PhoneNumber> getPhoneNumbers() {
...
}
}
可能让 JDO 预取所有电话号码以直接包含到对象中。在关系数据库中,这可能是通过在构造 Person 对象时连接 PhoneNumber 数据库表和 Person 数据库表来完成的。
其他实现可能看起来像
public class PhoneNumber {
public Person getPerson() {
...
}
}
并强制用户在单独的数据库请求中获取一个人的电话号码。通用工具不可能预测您希望使用哪种方式。有两个选择(如此处所示),很容易说“让它可配置!”但是,在组合添加八个或更多独立选择后,尚不清楚配置类生成是否更容易(与直接编写类相反)。
更不用说 JDO 并不是为类生成而设计的,事实上,它旨在让您手写的类在没有生成的情况下持久化,因为当时的类生成技术留下了很多可见的缺陷(不受欢迎的命名模式,暴露了冲突的接口(interface)和方法等)。
关于java - 从现有数据库生成 JDO 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7270943/