我的 Java 代码中有这样一个实体
public class Point{
private Float Lat;
private Float Long;
List<Point> neighbors;
};
所以我想将此信息保存在数据库中。我的想法是使用 Hibernate 而忘记创建表和关系。显然 List<> 邻居需要为关系创建一个新表。
此信息需要由 Web 服务检索,以便以图形形式找到两点之间的最短路径。
所以我不知道它在内部是如何工作的。如果我从数据库中检索点 X,Hibernate 将具有 X 的引用,并将检索列表邻居的点以备不时之需。 但是,对于列表中的这些点,我需要那些列表中的点,依此类推...
作为
Y = X.neighbours.elementAt[i].
Y.neighbours.elementAt[j].doSomeStuff...
为了覆盖所有的图找到最短路径。
框架是否可行?
以及,我如何使用 sql 脚本加载数据库。
作为
INSERT INTO POINT VALUES....
INSERT INTO NEIGHBOURS VALUES...
语法是怎样的?
最佳答案
是的,您只需更改您的 List 并映射它:
<set name="neighbors" table="point_table" cascade="all" fetch="join" lazy="false">
<key>
<column name="id"/>
</key>
<one-to-many class="package.Point"/>
</set>
这样做,当你从数据库中取出一个点时,它就会有它的相关点
关于java - 使用 Hibernate 从数据库中检索与自身相关的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46322335/