java - 如何用数据库数据java和hibernate填充组合框

标签 java mysql hibernate

这是我的代码: 在 dao 类中 用于从数据库中读取数据

    public static List<Animals> read() {
    List<Animal> a = new ArrayList<Animal>();
    Transaction tran = null;
    Session session = NewHibernateUtil.getSessionFactory().openSession();
    try {
        tran = session.beginTransaction();
        a = session.createQuery("from Animal").list();
    } catch (RuntimeException e) {
        e.printStackTrace();
    } finally {
        session.flush();
        session.close();
    }
    return a;
}

和jframe:

List<Animal> animals = AnimalDao.read();

public void addCombo(){
for(Animal a : animals){ combo.addItem(a);}

因此,我的组合框显示如下内容:model.Animals@5a0ffc79 你能帮我弄清楚缺少什么吗? 提前致谢!

最佳答案

默认情况下,当在 JcomboBox 中使用对象(而不是字符串)时,组合框中显示的值将是对象的 toString() 方法。因此,简单的选择是在您的 Animal 类上实现 toString(),并显示您想要显示的值。

或者,如果这还不够,您可以使用 cellRenderer。你可以看到this guide供使用

关于java - 如何用数据库数据java和hibernate填充组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58294263/

相关文章:

用于 mysqldump 插入的 Python 正则表达式

java - JUnit 测试之间的相同 hibernate session 导致问题

java - 我的代码有什么问题?遍历二维数组

java - GSON异常: Expected BEGIN_ARRAY but was BEGIN_OBJECT

java - Prefuse图表手动设置力参数

java - JPA 无法序列化

java - Hibernate.initialize(list) 与 setFetchMode

java - 使用 JNI 问题构建 .so 文件

mysql - Sphinx 可扩展性

mysql - 如何在另一个表中缺少值后清理表?