0

I'm using some JavaFX properties in my app:

@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;
    }

}

However when I let JPA generate my database, the column "naam" and "straat" aren't generated. I get no error. How can I resolve this?

I tried all the things listed here: Possible solution 1 Possible solution 2

These didn't work.

Community
  • 1
  • 1
stijn.aerts
  • 6,026
  • 5
  • 30
  • 46

1 Answers1

0

You can try to use regular properties and then have another get method which returns a new SimpleStringProperty, i.e.:

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

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