FramedGraph отображение между (Tinkerpop) DAO объектами для моделирования объектов
Я использую OrientDb 2.2 и TinkerPop FramedGraph. Я использую FramedGraph для простоты, с которой я взаимодействую с объектными моделями вместо того, чтобы делать setProperty("name", "bob")
Одна вещь, которую я не понимаю, с FramedGraph, почему у меня есть объекты интерфейса DAO, которые не могут быть реализованы? Из-за вышеупомянутого ограничения у меня есть дублирование объектов: интерфейс DAO tinkerpop и объекты модели.
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);
}
}
Есть ли способ избежать вышеуказанной неэффективности?