Вот мой код:предупреждение Encounter, когда добавить края в OrientDB
OrientVertex luca = graph.addVertex(null);
luca.setProperty("name", "John" + Integer.toString(i));
OrientVertex marko = graph.addVertex(null);
marko.setProperty("name", "Van Ness Ave." + Integer.toString(i + 1));
OrientEdge lucaKnowsMarko = graph.addEdge(null, luca, marko, "knows");
graph.commit();
Here представляет собой снимок того же самого.
А потом я встретил this предупреждение:
ПРЕДУПРЕЖДЕНИЕ: Команда «создать краевую типа„знает“, как подкласс„E“» должна быть выполнена вне активной сделки: сделка будет быть совершенные и вновь открывающиеся после этого. Чтобы избежать этого поведения выполнить его вне транзакции (дБ = тест)
погуглить эту проблему, кажется, что этот вопрос имеет отношение к не-транзакционных и транзакционных операций базы данных.
Спасибо за ваш ответ. И я понимаю, что OrientGraphNoTx следует использовать вместо OrientGraph. Теперь у меня возникает другой вопрос. Я использовал graph.addEdge («знает»), но возникает исключение, что «класс уже существует в текущей базе данных». По-видимому, вызов API-интерфейса addEdge всегда будет приводить к созданию класса. Итак, как мне избежать создания классов в начале? – Qinger