在ORMlite注释中使用Native SQL函数

时间:2013-11-04 14:12:19

标签: java android sql ormlite

我对Android应用程序中的ORMlite用法感兴趣。但是有一个问题。 第一步是注释你的课程,但我需要这样的东西:

@DatabaseField(columnName = "geometry", useGetSet = true)
String JSONgeometry;

@Formula (nativeSQL = "ShapeFromJSONText(JSONgeometry)")
public void set(String JSONgeometry){
    this.JSONgeometry = JSONgeometry;
}

@Formula (nativeSQL = "asJSONtext(geometry)")
public String get(){
    return JSONgeometry;
}

有没有办法在注释中插入本机SQl函数?有没有办法使用BasePersister来解决这个问题?

1 个答案:

答案 0 :(得分:0)

您能更具体地说明ShapeFromJSONTextasJSONtext的具体功能吗?

我觉得您希望在几何字段中保存对象。

在模型中创建单独的类:

class Geometry {
    @DatabaseField(generatedId = true)
    int id;

    @DatabaseField
    float field1;
    @DatabaseField
    float field2;
}

在你的课程中,请参考以下内容:

class Shape {
    @DatabaseField(foreign = true)
    Geometry geometry;
}

当然,如果你不想保存对象而只是保存它的JSON表示,你可以将它保存到String字段。

如果您想使用SQL函数更改已保存的对象,您可以使用Java在getter和setter中执行此操作。