gpt4 book ai didi

java - 在javafx TableView中显示外键

转载 作者:行者123 更新时间:2023-11-30 07:47:25 25 4
gpt4 key购买 nike

名字是法语

......................

少尉=老师

Matiere = 主题

名义=姓氏

prenom = 名字

............

我使用带有 FXML 的 javafx 2 和使用 MVC 模式的 hibernate,我想在TableView中显示“Enseignant”列表

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>

在数据库中我有 2 个表:

Enseignant(ID, #idMatiere, nom, prenom)
Matiere(IDMatiere, intitule)
<小时/>

每个表将被hibernate用作类

少尉:

public class Enseignant  implements java.io.Serializable {

private Integer idEnseignant;
private Matiere matiere;
private String nom;
private String prenom;

Material :

public class Matiere  implements java.io.Serializable {


private int idMatiere;
private String intitule;

“Enseignant”的 Controller 有一个方法“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

最佳答案

在这种情况下你必须改变

MATIERE.setCellValueFactory(new PropertyValueFactory<Enseignant, String>("matiere")); 

MATIERE.setCellValueFactory(new Callback<CellDataFeatures<Enseignant,String>,ObservableValue<String>>(){

@Override
public ObservableValue<String> call(CellDataFeatures<Enseignant, String> param) {
return new SimpleStringProperty(param.getValue().getMatiere().getIntitule());
}
});

关于java - 在javafx TableView中显示外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33722070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com