我目前正在使用versant对象数据库(使用jvi),并且我需要根据对象id查询数据库.
问题是我正在使用极点位置框架对数据库运行一些性能测试,并且该框架中的一个测试要求我使用对象引用或低级对象id从数据库中获取对象.因此,我不允许引用employee对象中的特定字段,但必须完整地对该对象执行查询.所以,我不允许"从员工e中选择*e.id = 4",我需要它来使用整个对象.
我想要达到的目标是什么
Employee employee = new Employee("Mr. Pickles");
session.commit();
FundVQLQuery q = new FundVQLQuery(session,
"select * from Employee employee where employee = $1");
q.bind(employee);
q.execute();
但是,这会引发EVJ_NOT_A_VALID_KEY_TYPE错误.有谁知道这样做的正确方法?
当然你想出来了(帖子是几个月前).你想要做的是首先使用GetObjectId,获取对象的VOD Id,然后查询数据库;
id = session.GetObjectId(employee);
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |