以下のロジックを使用してオリエンテーションDBでトランザクションを開始しています。
私が観察しているのは、トランザクションがメソッド内で閉じられていない場合です。他のメソッドでは自動的に利用可能です。 updateVertexToDBはgraphFactory.getDatabase().begin(type);
OTransactionException e
をスローする必要があります:私は、グラフの工場は、プロパティの下オリエントDBのトランザクション管理
graphFactory.setAutoStartTx(false);
graphFactory.setRequireTransaction(true);
期待を設定した更新
のような別の方法public <T> void updateVertexToDB(T data){
//not starting the transaction explicitly and doing some write operation
//logic for fetching data and adding vertex
//I am neither calling rollback nor commit here
}
を持って
public <T> void addVertexToDB(T data){
graphFactory.getDatabase().begin(OTransaction.TXTYPE.OPTIMISTIC);
//logic for fetching data and adding vertex
//I am neither calling rollback nor commit here
}
:私は下のシナリオを説明しようとします現在の動作:保存して正常に動作することによって、変換が開始されます。
これはちょうど知りたかったのですが、メソッドがトランスアクションを開始せずにDBに書き込もうとしている場合、すでにトランザクションを実行しているメソッドの中にネストされていない限り、OTransactionException e
をスローする必要があります。
OrientGraphFactoryにはbegin()という公開メソッドがありません。 – Krishna