繁体   English   中英

如何通过Hibernate HSQL获取今天的所有记录?

[英]How to get all records of today date through Hibernate HSQL?

我正在尝试通过下面的HSQL查询获取今天的所有记录

Query query = session.getNamedQuery("findUsersOrder")
            .setTimestamp("todayDate", date);

并在数据库表中查询是

@NamedQueries({
    @NamedQuery(name = "findUsersOrder", query = "FROM GroupTweetOrder WHERE gtoAddedDate = :todayDate "),


})

但它返回零记录....

有人可以告诉我如何仅获取当前日期或今天的所有记录吗?

更新

严重:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:在org.hibernate.type.descriptor.java.CharacterTypeDescriptor.wrap(CharacterTypeDescriptor.java:79处的java.lang.String.charAt(String.java:658)处为0 )在org.hibernate.type.descriptor.java.CharacterTypeDescriptor.wrap(CharacterTypeDescriptor.java:33)在org.hibernate.type.descriptor.sql.VarcharTypeDescriptor $ 2.doExtract(VarcharTypeDescriptor.java:66)在org.hibernate.type位于org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:269)的.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:65)位于org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:265) org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.hydrate(AbstractEntityPersister.hydrate)上的org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:238)在org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:357) 2701)在org.hi org.org.hibernate.loader.Loader.getRow(Loader.java:1373)的org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1473)的bernate.loader.Loader.loadFromResultSet(Loader.java:1541)位于org.hibernate.loader.Loader.doQuery(Loader.java:850)的org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)的.hibernate.loader.Loader.getRowFromResultSet(Loader.java:640) org.hibernate.loader.Loader.doList(Loader.java:2433)位于org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2263)在org.hibernate.loader.Loader.list(Loader.java:2258)在org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470)在org.hibernate.hql.internal.ast.QueryTranslatorImpl.list (QueryTranslatorImpl.java:355),位于org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196),位于org.hibernate.internal.SessionImpl.list(SessionImpl.java:1161),位于org.hibernate。在c的internal.QueryImpl.list(QueryImpl.java:101) om.ccc.spring.dao.GroupDistDAO.fetchTodayGroupOrder(GroupDistDAO.java:82)位于com.ccc.spring.service.GroupDistService.fetchTodayGroupOrder(GroupDistService.java:40)位于com.ccc.spring.service.GroupDistService $$ FastClassBySpringCGLIB org.org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)上的$$ a552f952.invoke()(org.springframework.aop.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:711)上的$$ a552f952.invoke()。在org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocation(TransactionInterceptor.java:98)的springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)在org.springframework.transaction.interceptor.TransactionAspectSupport(invokeWithin .java:262),位于org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95),位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMeth odInvocation.java:179)(位于org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)位于com.ccc.spring.service.GroupDistService $$ EnhancerBySpringCGLIB $$ dbd2ed38.fetchTodayGroupOrder() ccc.managedController.TweetDistributionManagedBean.sendGroupTweets(TweetDistributionManagedBean.java:175)位于sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)位于sun.reflect。 org.apache.el.parser.AstValue.invoke(AstValue.java:264)处的java.lang.reflect.Method.invoke(Method.java:601)的DelegatingMethodAccessorImpl.java:43)org.apache.el.MethodExpressionImpl的DelegatingMethodAccessorImpl.java:43) javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)处的.invoke(MethodExpressionImpl.java:278)javax.faces.component处的javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)处的。 UIComponentBase.broadcast(UIComp onentBase.java:769),位于javax.faces.component.UICommand.broadcast(UICommand.java:300),位于javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794),位于javax.faces.component.UIViewRoot.processApplication (UIViewRoot.java:1259)在com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)在com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)在com.sun。 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)上的javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)上的faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)位于org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98)位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243),位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210),位于com。 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)的ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:145)位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 210)在org.apache.catalina.core.StandardWrapperValve.java(225)在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)在org.apache.catalina.authenticator.AuthenticatorBase org.org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)处的org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)的.invoke(AuthenticatorBase.java:472)。 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)上的apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter。 java:407),位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Proces sor.java:1001)位于org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:585)位于org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:312) .util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:722)

2014年6月23日,下午3:17:49 com.sun.faces.context.AjaxExceptionHandlerImpl日志严重:JSF1073:javax.faces.event.AbortProcessingException在处理INVOKE_APPLICATION 5时捕获:UIComponent-ClientId = formcontract:iconOnly,Message = java。 lang.StringIndexOutOfBoundsException:字符串索引超出范围:0 Jun 23,2014 3:17:49 PM com.sun.faces.context.AjaxExceptionHandlerImpl log SeverE:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0 javax.faces。 event.AbortProcessingException:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182:0)在javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) )的javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)的javax.faces.component.UICommand.broadcast(UICommand.java:300)的javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java: 794),位于javax.faces.component.UI com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)位于com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)位于ViewRoot.processApplication(UIViewRoot.java:1259) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java)上javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)上的.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) :305)位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210),位于org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98)位于org.apache.catalina.core。 org.apache的org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)的ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)org.apache的com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:145) org.apache.catalina.c上的.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)上的org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225上的ore.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)在org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:98),位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927),位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118),位于org.apache。 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)上的catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)在org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java: 585),位于org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoi nt.java:312)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run (Thread.java:722)原因:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:java.lang.String.charAt(String.java:658)处为0,org.hibernate.type.descriptor.java.CharacterTypeDescriptor org.hibernate.type.descriptor.java.CharacterTypeDescriptor.wrap(CharacterTypeDescriptor.java:33)的org.hibernate.type.descriptor.sql.VarcharTypeDescriptor $ 2.doExtract(VarcharTypeDescriptor.java:的.wrap(CharacterTypeDescriptor.java:79) 66)在org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:269)在org.hibernate.type.Abstract.BasicExtractor.extract(BasicExtractor.java:65)在org.hibernate.type.AbstractStandardBasicType.nullSafeGet (AbstractStandardBasicType.java:265)在org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandar 在org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:357)的dBasicType.java:238)在org.hibernate.loader.Loader的org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2701)的db。 org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1473)位于org.hibernate.loader.Loader.getRow(Loader.java:1373)位于org.hibernate.loader处的.loadFromResultSet(Loader.java:1541)。 org.hibernate.loader.Loader.doQuery(Loader.java:850)的org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)的org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:640) org.hibernate.loader.Loader.doList(Loader.java:2447)org.hibernate.loader.Loader.doList(Loader.java:2433)org.hibernate处的IgnoreQueryCache(Loader.java:2263)。 org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470)处的loader.Loader.list(Loader.java:2258)org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl。 的org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196)的org.hibernate.internal.SessionImpl.list(SessionImpl.java:1161)的org.hibernate.internal.QueryImpl的java:355) com的com.ccc.spring.dao.GroupDistDAO.fetchTodayGroupOrder(GroupDistDAO.java:82)的.list(QueryImpl.java:101)com的com.ccc.spring.service.GroupDistService.fetchTodayGroupOrder(GroupDistService.java:40)的.list(QueryImpl.java:101)。 ccc.spring.service.GroupDistService $$ FastClassBySpringCGLIB $$ a552f952.invoke()在org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)在org.springframework.aop.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint (CglibAopProxy.java:711)在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)在org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocation(TransactionInterceptor.java:98)在org.springframework .transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TRANSAC org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)的tionAspectSupport.java:262)org.springframework.aop的org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)的tionAspectSupport.java:262) com.ccc.spring.service.GroupDistService $$ EnhancerBySpringCGLIB $$ dbd2ed38.fetchTodayGroupOrder()在com.ccc.managedController.TweetDistributionManagedBean(CglibAopProxy.java:644)在com.ccc.managed.TweetDistributionManagedBean(CglibAopProxy.java:644) 175)在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在java.lang.reflect处sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) org.apache.el.parser.AstValue.invoke(AstValue.java:264)处的.Method.invoke(Method.java:601),javax的org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)处的。 F A ces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)...还有31

休眠:选择grouptweet0_.gto_id为gto1_15_,grouptweet0_.gto_added_date为gto2_15_,grouptweet0_.gto_email_id为gto3_15_,grouptweet0_.gto_group_count为gto4_15_,grouptweet0_.gto_send为gto5_15_,grouptweet0_.gto_send_date为gto6_15_,grouptweet0_.gto_user_active为gto7_15_,grouptweet0_.gto_user_id为gto8_15_来自subodhc_ccc.group_tweet_order grouptweet0_,其中grouptweet0_.gto_add_date> =? 和grouptweet0_.gto_added_date

您可以使用JodaTime库充分利用Data函数。 您也可以使用简单的Java 6或7来做到这一点,但是要获得午夜当天的时间戳还需要做很多工作。

使用JodaTime,这是您可以做到的:

@NamedQueries({
@NamedQuery(name = "findUsersOrder", query = "FROM GroupTweetOrder WHERE gtoAddedDate >= :todayAtMidnight and gtoAddedDate < :tomorrowAtMidnight")
})

DateTime todayAtMidnight = new DateTime().withTimeAtStartOfDay();
DateTime tomorrowAtMidnight = todayAtMidnight.plusDays(1);

Query query = session.getNamedQuery("findUsersOrder")
        .setTimestamp("todayAtMidnight", todayAtMidnight.toDate())
        .setTimestamp("tomorrowAtMidnight", tomorrowAtMidnight.toDate());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM