我正在使用 OrientDb 2.2 和 TinkerPop FramedGraph。我使用 FramedGraph 是为了方便与对象模型交互,而不是做setProperty("name", "bob")
我对 FramedGraph 不了解的一件事是为什么我有无法实现的接口 DAO 对象?由于上述限制,我有重复的对象:tinkerpop DAO 接口和模型对象。
interface UserNode {
private String firstName;
private String lastName;
}
class User {
private String firstName;
private String lastName;
}
这在写入和读取大块数据时会产生重大开销。
List<User> fetchAllUsers() {
Iterable<UserNode> userNodes = graph.query().vertices(UserNode.class);
List<User> users = new ArrayList<>();
for (UserNode userNode: userNodes) {
User user = new User();
user.setFirstName(userNode.getFirstName());
user.setLastName(userNode.getLastName());
users.add(user);
}
}
有没有办法避免上述低效率?