【发布时间】:2010-06-09 18:23:32
【问题描述】:
对于我正在进行的项目,我需要将一些 POJO 持久化到数据库中。 POJO 类定义有时是高度嵌套的,但它们应该扁平化,因为嵌套是树状的并且不包含循环(并且基本元素最终是原语/字符串)。使用的解决方案最好为每种数据类型创建一个表,并且这些表在 POJO 中的每个原始成员都有一个字段。子类化和类似问题不是这个特定项目的问题。
有没有人知道任何现有的解决方案可以:
- 从类定义中自动生成
CREATE TABLE定义 - 在给定对象实例的情况下,自动生成查询以将对象持久保存到数据库中
- 在给定键的情况下,自动生成查询以从数据库中检索对象并将其作为 POJO 返回。
首选可以通过对类文件进行最少修改/注释和最少外部配置的解决方案。
例子:
Java 类
//Class to be persisted
class TypeA {
String guid;
long timestamp;
TypeB data1;
TypeC data2;
}
class TypeB {
int id;
int someData;
}
class TypeC {
int id;
int otherData;
}
可以映射到
CREATE TABLE TypeA (
guid CHAR(255),
timestamp BIGINT,
data1_id INT,
data1_someData INT,
data2_id INt,
data2_otherData INT
);
或类似的东西。
【问题讨论】:
标签: java sql hibernate persistence