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

发布于 2024-09-12 18:50:21 字数 224 浏览 6 评论 0原文

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

I have a class which I want to persist with OrmLite and it stores most of its data in a HashMap. I want to map these fields to the table in Sqlite, leaving the ones absent in the map as null. Is it possible to override methods to save some record to the database with custom implementations using OrmLite?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

骄兵必败 2024-09-19 18:50:21

我认为 Roddik 已经继续前进,但我想我还是会作为 OrmLite 的作者发布一个答案。

我的一般反应是创建一个对象来存储列而不是映射会更好。虽然 SQL 是一行字符串列,但 ORM 的重点在于我们可以将行作为 Java 中的对象来处理,而不是字符串的 Map。

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

目前还没有办法在 ORMLite 中持久保存字符串映射。

I think roddik has moved on but I thought I'd post an answer anyway as the author of OrmLite.

My general response is that it would be better to create an object to store the columns instead of a Map. Although SQL is a row of string columns, the whole point of ORM is that we can deal with the rows as objects in Java instead of a Map of strings.

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

Right now there is not a way to persist a Map of strings in ORMLite.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文