JavaFX属性无法保留

时间:2015-07-22 21:03:09

标签: jpa javafx

我在我的应用中使用了一些JavaFX属性:

@Entity(name = "Klanten")
@Table(name = "Klanten")
@NamedQueries({
    @NamedQuery(name = "Klanten.findAll", query = "select k from Klanten k")
})
public class Klant implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int klantId;

    @Transient
    private final SimpleStringProperty naam = new SimpleStringProperty();
    //private String naam;
    //private String straat;
    @Transient
    private final SimpleStringProperty straat = new SimpleStringProperty();
    private String telefoon;
    private String huisnummer;
    private String gsm;
    private String woonplaats;
    private String email;
    private String postcode;

    @OneToMany(mappedBy = "Klant", cascade = CascadeType.REMOVE)
    private List<Raam> ramen;

    public Klant() {

    }

    public Klant(String naam) {
        this.naam.set(naam);
    }

    @Override
    public String toString() {
        return this.naam.get();
    }

    @Access(AccessType.PROPERTY)
    @Column(name="naam")
    public String getNaam() {
        return this.naam.get();
    }

    public void setNaam(String naam){
        this.naam.set(naam);
    }

    public List<Raam> getRamen() {
        return this.ramen;
    }

    @Id
    public int getKlantId() {
        return klantId;
    }

    public void setKlantId(int klantId) {
        this.klantId = klantId;
    }

    @Access(AccessType.PROPERTY)
    @Column(name="straat")
    public String getStraat() {
        return straat.get();
    }

    public void setStraat(String straat) {
        this.straat.set(straat);
    }

    public String getTelefoon() {
        return telefoon;
    }

    public void setTelefoon(String telefoon) {
        this.telefoon = telefoon;
    }

    public String getHuisnummer() {
        return huisnummer;
    }

    public void setHuisnummer(String huisnummer) {
        this.huisnummer = huisnummer;
    }

    public String getGsm() {
        return gsm;
    }

    public void setGsm(String gsm) {
        this.gsm = gsm;
    }

    public String getWoonplaats() {
        return woonplaats;
    }

    public void setWoonplaats(String woonplaats) {
        this.woonplaats = woonplaats;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPostcode() {
        return postcode;
    }

    public void setPostcode(String postcode) {
        this.postcode = postcode;
    }

    public StringProperty naamProperty() {
        return naam;
    }

    public StringProperty straatProperty() {
        return straat;
    }

}

然而,当我让JPA生成我的数据库时,列&#34; naam&#34;和&#34; straat&#34;没有生成。我没有错。我该如何解决这个问题?

我尝试了这里列出的所有内容: Possible solution 1 Possible solution 2

这些没有用。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用常规属性,然后使用另一个get方法返回一个新的SimpleStringProperty,即:

public StringProperty naamProperty() {
    return new SimpleStringProperty(naam);
}

public StringProperty straatProperty() {
    return new SimpleStringProperty(straat);
}