gpt4 book ai didi

orientdb - 如何从 ConnectionPool 获取 OObjectDatabaseTx?

转载 作者:行者123 更新时间:2023-12-03 11:50:21 24 4
gpt4 key购买 nike

根据 OrientDB 官方文档,我应该使用以下代码使用对象 API 创建连接池。

// OPEN THE DATABASE
OObjectDatabaseTx db= OObjectDatabasePool.global().acquire("remote:localhost/petshop", "admin", "admin");

但是,我发现 OObjectDatabasePool 类已被弃用,建议改用 com.orientechnologies.orient.core.db.OPartitionedDatabasePool

但是那样的话,我怎样才能得到 OObjectDatabaseTx 对象呢?这是因为 OPartitionedDatabasePool.acquire() 只能返回 ODatabaseDocumentTx 对象。

希望有人知道如何解决。

谢谢

最佳答案

使用这段代码,您可以获得“要连接的对象”,然后进行查询等。

获取文档数据库

String remote = "remote:localhost/";
String nameDB = "domain";
String url = remote + nameDB;
OPartitionedDatabasePool pool = new OPartitionedDatabasePool(url, "admin", "admin");
ODatabaseDocumentTx db = pool.acquire();

//use example
List<ODocument> resultset = db.query(new OSQLSynchQuery<Object>("select from ORole"));

for(ODocument doc:resultset) {
System.out.println(doc);
}
db.close();

获取对象数据库

String remote = "remote:localhost/";
String nameDB = "TestPartitioned2";
String url = remote + nameDB;

OServerAdmin serverAdmin = new OServerAdmin(url).connect("root", "root");
serverAdmin.createDatabase(nameDB, "object", "plocal");
System.out.println(" Database '"+nameDB +"' created!..");

OPartitionedDatabasePool pool = new OPartitionedDatabasePool(url, "admin", "admin");

//object
OObjectDatabaseTx db = new OObjectDatabaseTx(pool.acquire());

db.getEntityManager().registerEntityClass(Person.class);
Person personA = db.newInstance(Person.class);
personA.setName("tennantA");
db.save(personA);
db.close();

关于orientdb - 如何从 ConnectionPool 获取 OObjectDatabaseTx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36145590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com