db4o不会使用javafx保存更新

时间:2014-08-29 18:47:11

标签: properties javafx db4o

前言:我经常光顾这些电路板,但这是我的第一个问题。我很欣赏这些板上的大量信息。所以,请提前感谢您的帮助。

我有一个JavaFX应用程序,我使用db4o来备份我的数据。问题如下:

遵循JavaFX属性语法,我们有类如下所示的类:

Person.java

class Person implements Activatable {
    private StringProperty name = new SimpleStringProperty();

    ...

    public String getName() {
        return name.get();
    }

    public void setName(String name) {
        this.name.set(name);
    }

    public StringProperty nameProperty() {
        return name;
    }

    ...
}

db4o将使用适当的store()和后续的commit()调用正确存储数据。但是,如果我更新已存储的任何对象,然后尝试更新它们(通过存储),则不会保存更新的数据。

我有透明的持久性/激活工作。我做了手动注射。我知道它有效,因为如果我做以下事情:

Person.java

class Person implements Activatable {
    private String name;

    ...

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public StringProperty nameProperty() {
        return new SimpleStringProperty(name);
    }

    ...
}

然后正确添加,更新和保存所有内容。我不能使用这种方法的唯一原因是因为属性监听器(即,更改或失效)不适用于这种方法。

有人说,有人知道为什么db4o无法更新JavaFX bean属性吗?或者我错过了什么?

0 个答案:

没有答案