В HQL я пытаюсь использовать дату в качестве критерия для получения некоторых данных, но получаю ошибку:
Код:
Date DatePlaced=new Date();
auction.setDatePlaced(DatePlaced);
auction.setUser((Users) getThreadLocalRequest().getSession(true).getAttribute("User"));
UpdateDatabase(auction);
Session session = gileadHibernateUtil.getSessionFactory().openSession();
Long UserId=(Long) getThreadLocalRequest().getSession(true).getAttribute("UserId");
String HQL="From Auction auction where User.UserId="+UserId +" and DatePlaced='"+DatePlaced+"'";
Auction A1=(Auction) session.createQuery(HQL).list().get(0);
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at com.BiddingSystem.server.ServiceImpl.UpdateAuction(ServiceImpl.java:543)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at net.sf.gilead.gwt.PersistentRemoteService.processCall(PersistentRemoteService.java:174)
То, что здесь происходит, в основном связанодата, но потому что данные не были найдены, потому что дата не совпадает, но данные, используемые для поиска, совпадают с датой, которую я установил выше, поэтому должна была быть возвращена 1 строка