gpt4 book ai didi

java - Hibernate列表映射问题

转载 作者:行者123 更新时间:2023-12-02 00:42:18 24 4
gpt4 key购买 nike

我知道这段代码相当困惑。我很确定将一个列表的提取复制到另一个列表并不是最优雅的解决方案。不过我只是想弄清楚为什么这不起作用。

这是一个 hibernate 方法,用于查询数据库并返回列表中的条目。即修复列表。由此,我只想要 FixString,我希望用它来填充 fixString 列表。

但是出于我不知道的原因。每当我打电话时

try {
//Get all the Fix Strings stored in db
fixStrings = HibFunction.listFix();
} catch (Exception e) {
System.out.printf("Cannot get Fix strings",e);
}

我的 junit 无法为我提供控制台打印输出

<小时/><小时/>

1 个字符串

<小时/><小时/>

无法获取修复字符串

以及 NullPointer 的失败跟踪...

尽管能够打印出结果,但为什么它等于 null?

public static List<String> listFix()
{
List <String> fixString = null;
List fix = null;
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
try {
transaction = session.beginTransaction();
fix = session.createQuery("from metadataPoC.hib.TestHib").list();
for (Iterator iterator = fix.iterator(); iterator.hasNext();)
{
TestHib fixtable = (TestHib) iterator.next();
System.out.println("****************************************************");
System.out.println("****************************************************");
System.out.println(fixtable.getFixString());
System.out.println("****************************************************");
System.out.println("****************************************************");
fixString.add(fixtable.getFixString());

}
transaction.commit();

} catch (HibernateException e) {
transaction.rollback();
e.printStackTrace();
} finally {
session.close();
}
return fixString;
}

最佳答案

快速查看您的代码,看来您没有初始化

List <String> fixString

正确。当您调用其上的方法时,它将为空。所以而不是

List <String> fixString = null;

例如,通过以下方式初始化列表

List <String> fixString = new ArrayList<String>();

关于java - Hibernate列表映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6020115/

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