gpt4 book ai didi

java - ArrayList 项和 hibernate 的问题

转载 作者:行者123 更新时间:2023-12-01 05:59:19 27 4
gpt4 key购买 nike

我在获取列表项时遇到问题,下面是我的 hibernate 代码,在该代码之后是我的方法..下面是我的 junit 测试。我如何确保查询正确执行,以及如何检查结果是否实际工作..这个查询应该返回几个pid..并将它们放入列表中..现在我90%确定我的列表是总是空的..相反它应该有3个pid:4573、4593、4693..任何人都可以弄清楚我做错了什么..为什么pid不在我的列表中..

<sql-query name="endDateChecker">
<return-scalar column="PId" type="java.lang.Long"/>
<![CDATA[select
pid as PId
from
info
where
end_date < trunc(sysdate)]]>
</sql-query>

<- hibernate ->

public List<Long> findItemByPIdEndDate() throws ROSException {

List<Long> list = null;

try{
Session session = sessionFactory.getCurrentSession();
Query query = session.getNamedQuery("endDateChecker");
list = query.list();

for (Long long1 : list) {
logger.info(long1);
}

}catch (HibernateException e){
throw new DataAccessException(e.getMessage());
}

return list;
}

<-方法->

public class FindItemByPIdEndDateTest{

private static final Log logger = ROSLogFactory.getLog(FindItemByPIdEndDateTest.class);

private ApplicationContext beanFactory;
private PersistenceMngt lps = null;

@Before
public void setUp() throws Exception {
beanFactory = new ClassPathXmlApplicationContext("/resources/ros-conf/engine-conf/applicationContext.xml");
lps = (PersistenceMngt)beanFactory.getBean("persistenceMngtService");
}

@After
public void tearDown() throws Exception {
}

@Test
public void testFindItemByPIdEndDate(){

List<Long> itemdb = null;
try {
itemdb = lps.findLroByPIdEndDate();

// assertNull("List is empty", itemdb);
// assertEquals(4573, itemdb.indexOf(0));
// assertEquals(3, itemdb.size());
// assertEquals(4593, itemdb.indexOf(1));
// assertEquals(4693, itemdb.indexOf(2));


} catch (ROSException e) {
e.printStackTrace();
fail(e.getMessage());
}
}
}

<-测试->

最佳答案

您尝试过使用

type="long"

而不是

type="java.lang.Long"

原样in the example in the docs

关于java - ArrayList 项和 hibernate 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1593927/

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