0

例を挙げましょう

  1. Tinkerpop ブループリントで Vertex を受け取り、Frames を使用してそれをエンティティに変換します。
  2. データベースを閉じます(これで、ノードはDBから切り離されます)
  3. そして、Web ページにノードを表示して、ユーザーがノードを変更できるようにします。

ユーザーがいくつかの変更を加えた後、変更を永続化する必要があります。

問題は、データベースのインスタンスが既に閉じられているため、エンティティがデータベースから切り離されていることです: ノードを更新するためのベスト プラクティス (パフォーマンスとメモリ使用量も考慮) は何ですか?

これはコード例かもしれません:

 FramedGraph<OrientGraph> graph = factory.getFramedGraph();
 User user = graph.addVertex(null, User.class);
 graph.shutdown();

次に、後でノードを更新します。

 user.name = "Donald Duck";
 user.... ?

ありがとう、アンドレア

4

1 に答える 1

1

私はこの方法を見つけました、それは非常に効率的だと思われます:

public User persistUser(User user){

    FramedGraph<OrientGraph> graph = factory.getFramedGraph();

    user = graph.frame(user.asVertex(), User.class);
    factory.persist();
    graph.shutdown();

そのため、フレームワークはエンティティをデータベースに自動的にマージします。それからあなたは固執しなければなりません。

于 2014-10-05T00:27:07.083 に答える