我一直在学习使用SQLite ROOM持久性库 . 要使用图算法在我现有的项目中实现它,我需要建模以下场景 .
Class Vertex{
int id,
double lat,longi;
}
Class Edge{
int id;
Vertex source;
Vertex Destination;
}
Class Route{
List<Vertex> vertex_list;
}
现在我想为三个实体创建三个不同的表 . 我的 table 是这样的
db.execSQL("CREATE TABLE " + DATABASE_TABLE_VERTEX + "("
+ VERTEX_ROWID + " INTEGER PRIMARY KEY, " + VERTEX_NAME
+ " VARCHAR(255) NOT NULL, " + VERTEX_REF_STOP
+ " VARCHAR(7) NOT NULL, " + VERTEX_LAT
+ " DOUBLE NOT NULL, "
+ VERTEX_LONG + " DOUBLE NOT NULL, " + VERTEX_ISTRANSIT
+ " TINYINT NOT NULL DEFAULT '0', " + VERTEX_NAME_NEPALI
+ " VARCHAR(255) ); ");
db.execSQL("CREATE TABLE " + DATABASE_TABLE_EDGE + "(" + EDGE_ID
+ " INTEGER PRIMARY KEY, " + EDGE_REF_STOP
+ " INTEGER NOT NULL, " + EDGE_SOURCE_STOP
+ " INTEGER NOT NULL, " + EDGE_DEST_STOP
+ " INTEGER NOT NULL, " + EDGE_DISTANCE
+ " DOUBLE NOT NULL, "
+ EDGE_ONEWAY + " TINYINT NOT NULL); ");
db.execSQL("CREATE TABLE " + DATABASE_TABLE_ROUTE + "(" + ROUTE_ID
+ " INTEGER PRIMARY KEY, " + ROUTE_NAME
+ " VARCHAR(255) NOT NULL, " + ROUTE_STOPS
+ " VARCHAR(255) NOT NULL, " + ROUTE_VEHICLETYPE
");
我的问题是我想直接检索源和目标的记录,而我得到边缘的记录 . 而且我还想在检索路线记录时检索所有边缘列表 . 有人可以解释我怎样才能做到这一点?
(更新:)我的问题不是插入数据 . 我从服务器导入数据 . 我想使用Room Persistence Library按照我的模型类检索保存在数据库中的记录 .