I'm new to JavaFX and I'm trying to refactor an old Swing application into JavaFX one.
I'm also using JPA (with EclipseLink implementation) to save/retrieve data.
So I've defined some POJOs annotated.
Here below my annotated POJO:
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
*
* @author alex
*/
@Entity
@Table(name = "materiale", catalog = "elledia", schema = "")
public class Materiale implements Serializable {
@Transient
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Long id;
@Basic(optional = false)
@Column(name = "colata")
private String colata;
@Basic(optional = false)
@Column(name = "dimensione")
private String dimensione;
@Basic(optional = false)
@Column(name = "specifica")
private String specifica;
@Basic(optional = false)
@Column(name = "unita_misura")
private String unitaMisura;
@Column(name = "version")
private Integer version;
@ManyToOne (fetch = FetchType.LAZY)
@JoinColumn (name = "certificato_id")
private Certificato certificato;
public Materiale(Long id, String colata, String dimensione, String specifica, String unitaMisura, Certificato certificato) {
this.id = id;
this.colata = colata;
this.dimensione = dimensione;
this.specifica = specifica;
this.unitaMisura = unitaMisura;
this.certificato = certificato;
}
public Long getId() {
return id;
}
public void setId(Long id) {
Long oldId = this.id;
this.id = id;
}
public String getColata() {
return colata;
}
public void setColata(String colata) {
String oldColata = this.colata;
this.colata = colata;
}
public String getDimensione() {
return dimensione;
}
public void setDimensione(String dimensione) {
String oldDimensione = this.dimensione;
this.dimensione = dimensione;
}
public String getSpecifica() {
return specifica;
}
public void setSpecifica(String specifica) {
String oldSpecifica = this.specifica;
this.specifica = specifica;
}
public String getUnitaMisura() {
return unitaMisura;
}
public void setUnitaMisura(String unitaMisura) {
String oldUnitaMisura = this.unitaMisura;
this.unitaMisura = unitaMisura;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
Integer oldVersion = this.version;
this.version = version;
}
public Certificato getCertificato() {
return certificato;
}
public void setCertificato(Certificato certificato) {
Certificato oldCertificato = this.certificato;
this.certificato = certificato;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Materiale)) {
return false;
}
Materiale other = (Materiale) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "com.alessandrodonato.elledia.certificati.gui.Materiale[ id=" + id + " ]";
}
}
I'm having some trouble with the TableViewcontrol:
Any idea?
TiwulFX provides JavaFX
custom components specially designed to work with java
POJO objects.
Works for me without changing my POJO.
TableColumn coluna1 = new TableColumn("Nome");
TableColumn coluna2 = new TableColumn("Álbum");
TableColumn coluna3 = new TableColumn("Imagem");
TableColumn coluna4 = new TableColumn("Descrição");
TableColumn coluna5 = new TableColumn("Tags");
coluna1.setCellValueFactory(
new PropertyValueFactory<>("nome")
);
coluna2.setCellValueFactory(
new PropertyValueFactory<>("album")
);
...
tabelaItens.getColumns().addAll(coluna1, coluna2, coluna3, coluna4, coluna5);
tabelaItens.setItems(FXCollections.observableArrayList(itens));
POJO:
@Entity
public class Item implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@ManyToOne
private Album album;
@Column(name = "nome")
private String nome;
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
@Column(name = "data_criacao")
private Calendar dataCriacao;
@Column(name = "data_imagem")
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Calendar dataImagem;
@Lob
@Basic(fetch = FetchType.LAZY)
@Column(name = "imagem")
private byte[] imagem;
@Column(name = "tipo_imagem")
private String tipoImagem;
@Column(name = "descricao")
private String descricao;
@Column(name = "tags")
private String tags;
...
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With