面向对象数据库 db4o 之旅,第 4 部分: 使用 dRS
2010-06-08 00:00:00 来源:WEB开发网清单 2. CreateTable 类
public class CreateTable {
public static void main(String args[]){
Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
ReplicationConfigurator.configure(cfg);
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
ReplicationConfigurator.install(session, cfg);
session.createCriteria(People.class);
session.close();
sessionFactory.close();
}
}
如果不出意外,运行完上面的代码后,相应的数据库表也就被建立好了。如 图 2所示,除了 people 和 autoinfo 表以外,还有三个 dRS 的元数据表。
图 2. Oracle 数据库表
从 db4o 到 RDBMS 的复制
请看 清单 3中的代码,在”main”方法中,我构造了一个 db4o 配置类,并设置了 UUIDs 和 VersionNumbers 生成策略。这里的 UUID 是为了标识 db4o 中存储的数据,而 VersionNubmers 则是为了 dRS 在同步时维护数据状态,所以必须进行设置。
清单 3. ReplicationExample 类
public class ReplicationExample {
public static void main(String args[]){
com.db4o.config.Configuration db4oconf = Db4o.newConfiguration();
db4oconf.generateUUIDs(ConfigScope.GLOBALLY);
db4oconf.generateVersionNumbers(ConfigScope.GLOBALLY);
createReplication(db4oconf);
}
private static void createReplication(com.db4o.config.Configuration db4oconf){
ObjectContainer odb = Db4o.openFile(db4oconf, "auto.yap");
Configuration config = new Configuration().configure("hibernate.cfg.xml");
// 绑定 A(db4o 数据库 ) B(Oracle 数据库 ) 关系
ReplicationSession replication = HibernateReplication.begin(odb, config);
People peo = new People();
peo.setAddress("成都市");
peo.setName("张三");
for(int i=0; i<10; i++){
AutoInfo ai = new AutoInfo();
ai.setLicensePlate("川 A00000"+i);
peo.addAutoInfo(ai);
}
odb.store(peo);
odb.commit();
// 找出 A(db4o 数据库 ) 中存在的数据
ObjectSet changed = replication.providerA().objectsChangedSinceLastReplication();
// 复制到 Oracle 数据库
while (changed.hasNext()){
replication.replicate(changed.next());
}
replication.commit();
replication.close();
odb.close();
}
}
- ››数据库对象——存储过程
- ››数据库设计词汇对照表
- ››面向对象的JS-私有成员变量实现方式
- ››数据库大型应用解决方案总结
- ››面向对象的JavaScript (一、对象基础,使用函数来...
- ››面向对象数据库 db4o 之旅,第 4 部分: 使用 dRS
- ››对象存储不给高性能计算添堵
- ››面向 Java Web 应用程序的 OpenID,第 2 部分: 为...
- ››面向 Java 开发人员的 db4o 指南: 简介和概览
- ››面向 Java 开发人员的 db4o 指南: 查询,更新和一...
- ››面向 Java 开发人员的 db4o 指南: db4o 中的数据库...
- ››面向 Java 开发人员的 db4o 指南: 超越简单对象
更多精彩
赞助商链接