【问题标题】:How to persist JavaFX properties in SQLite using ORMLite?如何使用 ORMLite 在 SQLite 中持久化 JavaFX 属性?
【发布时间】:2020-07-23 17:59:09
【问题描述】:

我正在使用 JavaFX 创建一个应用程序,我需要(这将非常酷)持久化 JavaFX 属性,例如 SimpleStringPropertySimpleObjectProperty

我见过使用SimpleStringPropertyPersister 类的this issue(现已关闭)。

但是,我实际上没有这门课。

我尝试使用SerializablePersister 类作为我的持久类,ORMLite 并没有给我发送一个大错误。但我不确定所有 JavaFX 属性(至少是我想要使用的属性)都是可序列化的,因为在 javadoc 中不是。

我正在使用 maven Central 提供的最新版本:

<dependency>
  <groupId>com.j256.ormlite</groupId>
  <artifactId>ormlite-jdbc</artifactId>
  <version>5.1</version>
</dependency>

我怎样才能做到这一点?

【问题讨论】:

    标签: java ormlite


    【解决方案1】:

    我正在使用 JavaFX 创建一个应用程序,我需要(这将非常酷)持久化 JavaFX 属性,例如 SimpleStringProperty 或 SimpleObjectProperty。

    在 google 上搜索“ormlite custom persister”的第一个链接将我带到了documentation for customer persisters。令人震惊。我在 ORMLite 文档上花了很多时间,所以它们应该会有所帮助。还有源代码example of a custom date persister

    引用文档:

    从头开始定义数据持久性类时,您可以扩展其他数据类型持久性之一或 BaseDataType 类。您将需要定义以下方法。

    • parseDefaultString – 将默认字符串转换为适合加载到数据库中的 SQL 参数。
    • resultToSqlArg – 使用 DatabaseResults 对象从结果中获取正确的 SQL 参数类型。
    • sqlArgToJava – 将 SQL 参数转换为关联的 Java 类。

    【讨论】:

    • 如果你看到这个,我建议你看看一个内置的持久化器来了解它是如何工作的。 BigIntegerType.java。这里的两个关键方法是#javaToSqlArg(...)#sqlArgToJava(...)
    猜你喜欢
    • 1970-01-01
    • 2011-11-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多