可以在OrmLite中编写自定义SQL吗?

可以在OrmLite中编写自定义SQL吗?,sql,persistence,ormlite,Sql,Persistence,Ormlite,我有一个我想要持久化的类,它将其大部分数据存储在HashMap中。我想将这些字段映射到Sqlite中的表,将映射中缺少的字段保留为null。是否可以通过使用OrmLite的自定义实现重写将一些记录保存到数据库的方法?我认为roddik已经离开了,但我想我还是会以OrmLite作者的身份发布一个答案 我的一般反应是,最好创建一个对象来存储列,而不是映射。尽管SQL是一行字符串列,但ORM的全部要点是,我们可以在Java中将行作为对象处理,而不是字符串映射 @DatabaseTable public

我有一个我想要持久化的类,它将其大部分数据存储在HashMap中。我想将这些字段映射到Sqlite中的表,将映射中缺少的字段保留为null。是否可以通过使用OrmLite的自定义实现重写将一些记录保存到数据库的方法?

我认为roddik已经离开了,但我想我还是会以OrmLite作者的身份发布一个答案

我的一般反应是,最好创建一个对象来存储列,而不是映射。尽管SQL是一行字符串列,但ORM的全部要点是,我们可以在Java中将行作为对象处理,而不是字符串映射

@DatabaseTable
public void RandomThing {
    @DatabaseField
    String column1;
    @DatabaseField
    String column2;
    @DatabaseField
    String column3;
    public void RandomThing(String column1, String column2, String column3) {
        ...
    }
}

现在没有办法在ORMLite中持久化字符串映射。

这个映射应该是表中SQL行的集合吗?例如,如果地图中有100个东西,那么SQL表中会有100行吗?@Gray,不会。假设表中有column1、column2、column3。映射'foo',column3=>'bar'。然后结果行将是1=>null,2=>foo,3=>bar。不管怎样,我已经切换到Hibernate,所以这个问题不相关。我是OrMLITE的作者,我只是好奇是否有我应该考虑添加的功能缺失。因此,这个想法是地图存储一行。字符串键是列名,对象值是其关联的数据?但是你可以用物体代替地图,对吗?调用setColumn2foo和setColumn3bar。这不是一种更为Java的方式吗?@Gray,也许这更像javish,但我希望有定制功能。对我来说,OrmLite真正的破坏者是我不能自定义SQL查询,谷歌搜索也不成功。实际上OrmLite有自定义SQL查询。queryForAllRawString查询返回值的映射。但是,它还没有自定义更新或执行。