J'ai un problème avec l'obtention des éléments de la liste, ci-dessous est mon code d'hibernation, après ce code il y a ma méthode ..et ci-dessous c'est mon test de junit. Comment puis-je m'assurer que la requête s'exécute correctement, et comment puis-je vérifier que les résultats fonctionnent réellement? Cette requête devrait retourner quelques pids .. et les mettre dans la liste .. maintenant je suis sûr à 90% que ma liste est toujours vide .. elle devrait plutôt avoir 3: pid 4573, 4593, 4693 .. peut-on comprendre ce que je fais mal .. pourquoi les pid ne sont pas dans ma liste ..Problèmes avec les éléments ArrayList et hibernation
<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;
}
< -METHOD->
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());
}
}
}
< -TEST->
Même chose ... Je reçois les mêmes résultats .. ce qui signifie que la liste des objets est toujours vide –