Рамка Tinkerpop: как создать новую вершину
Я не могу сохранить новую вершину с Tinkerpop Frame и Blueprint (версия 2.6). Что я делаю неправильно? Это мой код.. немного очищен от частей, которые не являются полезными. Я использую OrientDb как неопределяемый движок базы данных Graph.
Я не получаю никаких исключений, но когда я смотрю в базу данных, она пуста. Вы можете заметить почему? Спасибо!
Рамка объекта:
public interface User extends VertexFrame{
@Property("id")
public String getId();
@Property("id")
public void getId(String Id);
@Property("email")
public String getEmail();
@Property("email")
public void setEmail(String email);
@Property("password")
public String getPassword();
@Property("password")
public void getPassword(String providerId);
@Property("firstName")
public String getFirstName();
@Property("firstName")
public void setFirstName(String firstName);
}
Класс User Manager:
public class UserManager implements Serializable {
FramedGraphFactory framedFactory = new FramedGraphFactory();
OrientGraphFactory graphFactory = new OrientGraphFactory("remote:192.168.50.10:2424/database", "user", "pass");
OrientGraph instance = graphFactory.getTx();
FramedGraph<OrientGraph> framedGraph = framedFactory.create(instance);
User user = framedGraph.addVertex(UUID.randomUUID(), User.class);
user.setFirstName(profile.getFirstName());
user.setLastName(profile.getLastName());
OrientVertex u = (OrientVertex) user.asVertex();
u.save();
}
1 ответ
Решение
Я уверен, что вам нужно совершить транзакцию.
Можете ли вы попробовать использовать FramedTransactionalGraph?
FramedTransactionalGraph<OrientGraph> framedGraph = framedFactory.create(instance);
....Code....
framedGraph.commit();