我正在使用顶点和边对象构建一个图形算法,并与休眠状态保持一致。在检查边以发现它们是否处于状态时,这段代码需要做大量的工作(另一个“识别”顶点的代码应该做类似的事情)。
课程:
Vertex(long id, String name);
Edge(long id, Vertex v, Vertex w, boolean visited);
VertexDAO(Vertex vertex);//persistence class for vertex implemented with hibernate
EdgeDAO(Edge edge);//persistence class for vertex implemented with hibernate
我有两个选项可以设置/更新图表中的已访问边:
查询 DAO 对象以检索(未)访问的边缘(通过休眠)并根据需要设置它们;问题:我不知道这些操作的成本,以及当图表变大时它是否有效;在我看来,这不是最好的解决方案;
测试我自己的一组边缘以检索所有(未)访问过的边缘。问题:可能我的搜索算法比休眠算法最差,如果休眠在内存中有效地管理对象并且不需要如此多地持久化或开销它们,那么与之前的替代方案相比,它可能表示性能下降。
在这种情况下,您有什么经验或提示吗?感谢您的帮助。