java在javafx TableView中显示外键
名字是法语的
老师
主题
nom=姓氏
prenom=名字
我将JavaFX2与FXML结合使用,将hibernate与MVC模式结合使用, 我想在TableView中显示“EnSignant”列表
tableView结构:
<TableView fx:id="tableau" >
<columns>
<TableColumn fx:id="ID" prefWidth="43.0" text="ID" />
<TableColumn fx:id="NOM" prefWidth="95.0" text="NOM" />
<TableColumn fx:id="PRENOM" prefWidth="94.0" text="PRENOM" />
<TableColumn fx:id="MATIERE" prefWidth="97.0" text="Matière" />
</columns>
</TableView>
在数据库中,我有两个表:
Enseignant(ID, #idMatiere, nom, prenom)
Matiere(IDMatiere, intitule)
hibernate将使用每个表作为类
Ensignant:
public class Enseignant implements java.io.Serializable {
private Integer idEnseignant;
private Matiere matiere;
private String nom;
private String prenom;
马蒂埃:
public class Matiere implements java.io.Serializable {
private int idMatiere;
private String intitule;
“EnSignant”的控制器有一个方法“show()”,它显示教师列表
ID.setCellValueFactory(new PropertyValueFactory<Enseignant, Integer>("idEnseignant"));
NOM.setCellValueFactory(new PropertyValueFactory<Enseignant, String>("nom"));
PRENOM.setCellValueFactory(new PropertyValueFactory<Enseignant, String>("prenom"));
MATIERE.setCellValueFactory(new PropertyValueFactory<Enseignant, String>("matiere"));
tableau.setItems(em.getEnseignant());
最后,它向我显示了正常列表,但“matiere”列指的是对象,例如:hibernate。Matiere@59456543
# 1 楼答案
在这种情况下,你必须改变
到