我对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解决此任务?

最佳答案

您能否更具体地说明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进行更改。

10-06 14:12