java - ORMlite 注释中 native SQL 函数的使用

标签 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 来解决这个任务?

最佳答案

您能否更具体地说明一下 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 中执行此操作。

关于java - ORMlite 注释中 native SQL 函数的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19769555/

相关文章:

Java:如何更快地绘制这些图像?

java - 将单个字节转换为字符串并返回字节

android - Android 应用中的 Google Cloud Storage

sql - 在子查询中添加总计

SQL:按优先级排序,但将 0 放在最后

sql - 是否有 SQL 语句允许我复制和插入现有行但更改一列?

java - jbutton Action ,setIcon在 Action 结束时执行

java - 创建服务 Java spring ubuntu

android - firebase 应用索引和应用链接之间的区别

android - Scene2d 如何处理被触摸的 Actor ?(LibGDX)