List<AlbumsBean> in FXML TableView

Harry05

Grünschnabel
Hi Leute,

ich bekomme Informationen aus einer Datenbank mit dieser Methode

das ist ein Dao
Java:
public List<AlbumsBean> loadAlbumsByUserId(int id) {
        return getSessionFactory().openSession()
                .createQuery("FROM AlbumsBean WHERE profil_id = :id", AlbumsBean.class)
                .setParameter("id", id)
                .list();
    }

So sieht mein Bean aus.

Java:
@Entity
@Table(name = "album_t")
public class AlbumsBean {

    @Id
    @GeneratedValue
    @Column(name = "id")
    private int id;
    @Column(name = "name", nullable = true, length = 45)
    private String name;
    @Column(name = "bandName", nullable = true, length = 45)
    private String bandName;
    @Column(name = "erscheinungJahr", nullable = true, length = 45)
    private String erscheinungsJahr;
    @ManyToOne(cascade = CascadeType.ALL)
    private ProfilBean profil;

    public AlbumsBean(String name, String bandName, String erscheinungsJahr, ProfilBean profil) {
        this.name = name;
        this.bandName = bandName;
        this.erscheinungsJahr = erscheinungsJahr;
        this.profil = profil;
    }

    public AlbumsBean() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public String getBandName() {
        return bandName;
    }

    public void setBandName(String bandName) {
        this.bandName = bandName;
    }

    public String getErscheinungsJahr() {
        return erscheinungsJahr;
    }

    public void setErscheinungsJahr(String erscheinungsJahr) {
        this.erscheinungsJahr = erscheinungsJahr;
    }

    public ProfilBean getProfil() {
        return profil;
    }

    public void setProfil(ProfilBean profil) {
        this.profil = profil;
    }
}

ich wollte es gerne in diese FXML Tabelle einfügen

Java:
 <TableView fx:id="albumTable" fixedCellSize="0.0" layoutY="100.0" prefHeight="200.0" prefWidth="381.0">
        <columns>
          <TableColumn fx:id="name" prefWidth="85.0" text="Album Name" />
          <TableColumn fx:id="bandName" prefWidth="141.0" text="Band Name" />
            <TableColumn fx:id="Jahr" prefWidth="153.0" resizable="false" text="Erscheinungs Jahr" />
        </columns>
      </TableView>

mein Controller sieht so aus
Java:
@FXML
private TableView <AlbumsBean> albumTable;
@FXML
private TableColumn<AlbumsBean, String> name;
@FXML
private TableColumn<AlbumsBean, String> bandName;
@FXML
private TableColumn<AlbumsBean, String> Jahr;

private ObservableList<AlbumsBean> data;

AlbumsDaoImp albumDao = new AlbumsDaoImp();

List<AlbumsBean> albumsBeans = albumDao.loadAlbumsByUserId(StaticContext.userId);

//hier weiß ich nicht mehr weiter

ich hatte mir mal so was gedacht um das Bean anzupassen es funktioniert nicht

Java:
@Entity
@Table(name = "album_t")
public class AlbumsBean {

    @Id
    @GeneratedValue
    @Column(name = "id")
    private final IntegerProperty id;
    @Column(name = "name", nullable = true, length = 45)
    private final StringProperty name;
    @Column(name = "bandName", nullable = true, length = 45)
    private final StringProperty bandName;
    @Column(name = "erscheinungJahr", nullable = true, length = 45)
    private final StringProperty erscheinungsJahr;
    @ManyToOne(cascade = CascadeType.ALL)
    private ProfilBean profil;

    public AlbumsBean(IntegerProperty id, StringProperty name, StringProperty bandName, StringProperty erscheinungsJahr, ProfilBean profil) {
        this.id = id;
        this.name = name;
        this.bandName = bandName;
        this.erscheinungsJahr = erscheinungsJahr;
        this.profil = profil;
    }

    public int getId() {
        return id.get();
    }

    public IntegerProperty idProperty() {
        return id;
    }

    public void setId(int id) {
        this.id.set(id);
    }

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

    public StringProperty nameProperty() {
        return name;
    }

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

    public String getBandName() {
        return bandName.get();
    }

    public StringProperty bandNameProperty() {
        return bandName;
    }

    public void setBandName(String bandName) {
        this.bandName.set(bandName);
    }

    public String getErscheinungsJahr() {
        return erscheinungsJahr.get();
    }

    public StringProperty erscheinungsJahrProperty() {
        return erscheinungsJahr;
    }

    public void setErscheinungsJahr(String erscheinungsJahr) {
        this.erscheinungsJahr.set(erscheinungsJahr);
    }

    public ProfilBean getProfil() {
        return profil;
    }

    public void setProfil(ProfilBean profil) {
        this.profil = profil;
    }
}

für Hilfe und konstruktive Kritik danke ich im voraus
 
Zurück