代码之家  ›  专栏  ›  技术社区  ›  Mladen Mihajlovic

如何修复“没有为查询类找到持久类”消息?

  •  6
  • Mladen Mihajlovic  · 技术社区  · 7 年前

    我正在使用zkoss 5.0.4、spring 3.0.3、hibernate 3和jpa 1.0以及jboss 5.1 ga(支持JDK)创建一个Web应用程序。

    这个项目可以用jboss编译。但似乎是因为某种原因,波斯并没有申请。

    当我在控制台中运行应用程序时,它将显示以下内容:

    10:07:35,265 WARN  [QuerySplitter] no persistent classes found for query class: from org.zkforge.zktodo2.Reminder
    

    下面是我在 /WEB-INF/lib 目录。

    aopalliance.jar  
    asm-1.5.3.jar  
    asm-attrs-1.5.3.jar  
    cglib-2.1_3.jar  
    commons-dbcp-1.2.2.jar  
    commons-fileupload-1.2.1.jar  
    commons-io.jar  
    commons-pool-1.3.jar  
    ehcache-1.2.3.jar  
    fckez.jar  
    groovy.jar  
    jruby.jar  
    js.jar  
    junit-3.8.1.jar  
    jython.jar  
    org.springframework.aop-3.0.3.RELEASE.jar  
    org.springframework.asm-3.0.3.RELEASE.jar  
    org.springframework.aspects-3.0.3.RELEASE.jar  
    org.springframework.beans-3.0.3.RELEASE.jar  
    org.springframework.context.support-3.0.3.RELEASE.jar  
    org.springframework.context-3.0.3.RELEASE.jar  
    org.springframework.core-3.0.3.RELEASE.jar  
    org.springframework.expression-3.0.3.RELEASE.jar  
    org.springframework.instrument.tomcat-3.0.3.RELEASE.jar  
    org.springframework.instrument-3.0.3.RELEASE.jar  
    org.springframework.jdbc-3.0.3.RELEASE.jar   
    org.springframework.jms-3.0.3.RELEASE.jar  
    org.springframework.orm-3.0.3.RELEASE.jar  
    org.springframework.oxm-3.0.3.RELEASE.jar  
    org.springframework.test-3.0.3.RELEASE.jar  
    org.springframework.transaction-3.0.3.RELEASE.jar  
    org.springframework.web.portlet-3.0.3.RELEASE.jar  
    org.springframework.web.servlet-3.0.3.RELEASE.jar  
    org.springframework.web.struts-3.0.3.RELEASE.jar  
    org.springframework.web-3.0.3.RELEASE.jar  
    zcommon.jar  
    zcommons-el.jar  
    zhtml.jar  
    zk.jar  
    zkplus.jar  
    zul.jar  
    zweb.jar  
    

    以下是我的 web.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>  
    < web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
     xmlns="http://java.sun.com/xml/ns/javaee"  
     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
     id="WebApp_ID" version="2.5">  
    
      < display-name >  
        zk5
       < / display-name >    
    
    
     <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:dataSourceContext.xml,classpath:spring-context.xml</param-value>
     </context-param>
    
     <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
     </listener>
    
     <listener>
      <!-- The Spring RequestContextLister uses thread bound variables so to 
      use this Spring freatures requires that we apply <disable-event-thread /> 
      within zk.xml -->
      <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
     </listener>
    
    
    
    
    
      <listener>
       < description>
       Used to cleanup when a session is destroyed< / description>
       < display-name>
    
       ZK Session cleaner< / display-name>
    
       <listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
      </listener>
      <servlet>
       <description>
       The ZK loader for ZUML pages</description>
       <servlet-name>zkLoader</servlet-name>
       <servlet-class>
       org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
       <init-param>
        <param-name>update-uri</param-name>
        <param-value>/zkau</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet>
       <description>
       The asynchronous update engine for ZK</description>
       <servlet-name>auEngine</servlet-name>
       <servlet-class>
       org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>
      </servlet>
      <servlet-mapping>
       <servlet-name>zkLoader</servlet-name>
       <url-pattern>*.zul</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
       <servlet-name>zkLoader</servlet-name>
       <url-pattern>*.zhtml</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
       <servlet-name>auEngine</servlet-name>
       <url-pattern>/zkau/*</url-pattern>
      </servlet-mapping>
      < welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
        <welcome-file>index.zul</welcome-file>
      < / welcome-file-list>
    </web-app>
    

    以下是我的 spring-context.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:tx="http://www.springframework.org/schema/tx"
     xmlns:p="http://www.springframework.org/schema/p"
     xmlns:aop="http://www.springframework.org/schema/aop"
     xsi:schemaLocation="
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
     ">
    
     <!-- 
        JPA config   
        --> 
    
    
    
     <bean id="entityManagerFactory"  
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"  
      p:persistenceUnitName="ExamplePU"  
      p:persistenceXmlLocation="classpath:/META-INF/persistence.xml"  
      p:dataSource-ref="dataSource"  
      >  
      <property name="jpaVendorAdapter">  
       <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"  
        p:showSql="true"  
        p:generateDdl="true">  
       </bean>  
      </property>  
      <property name="jpaProperties">  
       <value>  
       hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy  
       hibernate.dialect=${hibernate.dialect}  
       hibernate.hbm2ddl.auto=${hibernate.hbm2ddl.auto}  
       </value>  
      </property>  
     </bean>  
    
     <bean id="transactionManager"  
      class="org.springframework.orm.jpa.JpaTransactionManager"   
      p:entityManagerFactory-ref="entityManagerFactory"  
     />  
    
     <tx:annotation-driven />  
    
     <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />  
    
        <!-- 
        JPA helpers
        --> 
    
        <bean id="basicDao" class="org.zkforge.zktodo2.BasicDao" />  
    
        <!-- 
        First article classes
        --> 
    
     <bean id="reminderService" class="org.zkforge.zktodo2.ReminderService"   
      p:basicDao-ref="basicDao"
     />  
    
     <bean id="toDoControllerV1" class="org.zkforge.zktodo2.ZkToDoControllerV1"  
      p:reminderService-ref="reminderService" scope="prototype"  
     />  
    
        <!-- 
        Data binding enhancement classes
        --> 
    
     <!-- 
     Note that the following bean is session scoped. 
     --> 
     <bean id="toDoModel" class="org.zkforge.zktodo2.ZkToDoModelImpl" 
       p:reminderService-ref="reminderService" scope="session">
      <!-- 
      // scoped proxy is commented out as only referenced by a prototype bean
      // if you wanted to pass this bean to a singleton you need to include
      // the following configurration.   
      <aop:scoped-proxy proxy-target-class="false"/>
      --> 
     </bean>
    
     <bean id="toDoControllerV2" class="org.zkforge.zktodo2.ZkToDoControllerV2" 
      p:toDoModel-ref="toDoModel" scope="prototype"
     />
    
    </beans>
    

    以下是我的 dataSourceContext.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:tx="http://www.springframework.org/schema/tx"
     xmlns:p="http://www.springframework.org/schema/p"
     xmlns:util="http://www.springframework.org/schema/util"
     xsi:schemaLocation="
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
     ">
    
     <bean id="dataSource"
      class="org.apache.commons.dbcp.BasicDataSource"
      destroy-method="close"
      p:driverClassName="${jdbc.driver}"
      p:url="${jdbc.url}"
      p:username="${jdbc.username}"
      p:password="${jdbc.password}" />
    
    
    
     <!-- 
        Injected properties
        --> 
        <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
         <property name="locations">
         <list>
                <value>classpath:zktodo2.properties</value>
         </list>
         </property>
    
        </bean>
    
    
    </beans>
    

    以下是我的zktodo2.properties文件

    jdbc.url=jdbc:hsqldb:mem:salvation
    jdbc.username=sa
    jdbc.password=
    jdbc.driver=org.hsqldb.jdbcDriver
    hibernate.dialect=org.hibernate.dialect.HSQLDialect
    hibernate.hbm2ddl.auto=update
    

    下面是我在jboss服务器上编译的东西:

    10:06:41,000 INFO  [PersistenceUnitDeployment] Starting persistence unit  persistence.unit:unitName=#ExamplePU  
    10:06:41,156 INFO  [Version] Hibernate Annotations 3.4.0.GA  
    10:06:41,156 INFO  [Environment] Hibernate 3.3.1.GA  
    10:06:41,171 INFO  [Environment] hibernate.properties not found  
    10:06:41,171 INFO  [Environment] Bytecode provider name : javassist  
    10:06:41,171 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling  
    10:06:41,343 INFO  [Version] Hibernate Commons Annotations 3.1.0.GA  
    10:06:41,343 INFO  [Version] Hibernate EntityManager 3.4.0.GA  
    10:06:41,375 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [  
     name: ExamplePU  
     ...]  
    10:06:41,375 WARN  [Ejb3Configuration] Persistence provider caller does not implement the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
    10:06:41,515 INFO  [AnnotationBinder] Binding entity from annotated class: org.zkforge.zktodo2.Reminder  
    10:06:41,546 INFO  [EntityBinder] Bind entity org.zkforge.zktodo2.Reminder on table REMINDER  
    10:06:41,593 INFO  [Version] Hibernate Validator 3.1.0.GA  
    10:06:41,625 INFO  [HibernateSearchEventListenerRegister] Unable to find   org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.  
    10:06:41,687 INFO  [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider  
    10:06:41,703 INFO  [InjectedDataSourceConnectionProvider] Using provided datasource  
    10:06:41,734 INFO  [SettingsFactory] RDBMS: HSQL Database Engine, version: 1.8.0  
    10:06:41,734 INFO  [SettingsFactory] JDBC driver: HSQL Database Engine Driver, version: 1.8.0  
    10:06:41,781 INFO  [Dialect] Using dialect: org.hibernate.dialect.HSQLDialect  
    10:06:41,796 INFO  [TransactionFactoryFactory] Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory  
    10:06:41,796 INFO  [TransactionManagerLookupFactory] instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup  
    10:06:41,796 INFO  [TransactionManagerLookupFactory] instantiated TransactionManagerLookup  
    10:06:41,796 INFO  [SettingsFactory] Automatic flush during beforeCompletion(): disabled  
    10:06:41,796 INFO  [SettingsFactory] Automatic session close at end of transaction: disabled  
    10:06:41,796 INFO  [SettingsFactory] JDBC batch size: 15  
    10:06:41,796 INFO  [SettingsFactory] JDBC batch updates for versioned data: disabled  
    10:06:41,796 INFO  [SettingsFactory] Scrollable result sets: enabled  
    10:06:41,796 INFO  [SettingsFactory] JDBC3 getGeneratedKeys(): disabled  
    10:06:41,796 INFO  [SettingsFactory] Connection release mode: auto  
    10:06:41,796 INFO  [SettingsFactory] Default batch fetch size: 1  
    10:06:41,796 INFO  [SettingsFactory] Generate SQL with comments: disabled  
    10:06:41,796 INFO  [SettingsFactory] Order SQL updates by primary key: disabled  
    10:06:41,796 INFO  [SettingsFactory] Order SQL inserts for batching: disabled  
    10:06:41,796 INFO  [SettingsFactory] Query translator:   org.hibernate.hql.ast.ASTQueryTranslatorFactory  
    10:06:41,812 INFO  [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory  
    10:06:41,812 INFO  [SettingsFactory] Query language substitutions: {}  
    10:06:41,812 INFO  [SettingsFactory] JPA-QL strict compliance: enabled  
    10:06:41,812 INFO  [SettingsFactory] Second-level cache: enabled  
    10:06:41,812 INFO  [SettingsFactory] Query cache: disabled  
    10:06:41,812 INFO  [SettingsFactory] Cache region factory :   org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge  
    10:06:41,828 INFO  [RegionFactoryCacheProviderBridge] Cache provider: org.hibernate.cache.HashtableCacheProvider  
    10:06:41,828 INFO  [SettingsFactory] Optimize cache for minimal puts: disabled  
    10:06:41,828 INFO  [SettingsFactory] Cache region prefix: persistence.unit:unitName=#ExamplePU  
    10:06:41,828 INFO  [SettingsFactory] Structured second-level cache entries: disabled  
    10:06:41,828 INFO  [SettingsFactory] Statistics: disabled  
    10:06:41,828 INFO  [SettingsFactory] Deleted entity synthetic identifier rollback: disabled  
    10:06:41,828 INFO  [SettingsFactory] Default entity-mode: pojo  
    10:06:41,828 INFO  [SettingsFactory] Named query checking : enabled  
    10:06:41,875 INFO  [SessionFactoryImpl] building session factory  
    10:06:42,046 INFO  [SessionFactoryObjectFactory] Factory name: persistence.unit:unitName=#ExamplePU  
    10:06:42,046 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}  
    10:06:42,046 INFO  [SessionFactoryObjectFactory] Bound factory to JNDI name: persistence.unit:unitName=#ExamplePU  
    10:06:42,046 WARN  [SessionFactoryObjectFactory] InitialContext did not implement EventContext  
    10:06:42,046 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}  
    10:06:42,046 WARN  [SessionFactoryImpl] JTASessionContext being used with JDBCTransactionFactory; auto-flush will not operate correctly with getCurrentSession()  
    10:06:42,062 INFO  [TomcatDeployment] deploy, ctxPath=/zk5  
    10:06:42,171 INFO  [[/zk5]] Initializing Spring root WebApplicationContext  
    10:06:42,171 INFO  [ContextLoader] Root WebApplicationContext: initialization started  
    10:06:42,906 INFO  [XmlWebApplicationContext] Refreshing Root WebApplicationContext: startup date [Sat Oct 02 10:06:42 IST 2010]; root of context hierarchy  
    10:06:42,953 INFO  [XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [dataSourceContext.xml]  
    10:06:43,046 INFO  [XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [spring-context.xml]  
    10:06:43,171 INFO  [PropertyPlaceholderConfigurer] Loading properties file from class path resource [zktodo2.properties]  
    10:06:43,203 INFO  [DefaultListableBeanFactory] Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@10fe280: defining beans   [dataSource,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,entityManagerFactory,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor#0,basicDao,reminderService,toDoControllerV1,toDoModel,toDoControllerV2]; root of factory hierarchy  
    10:06:43,296 INFO  [LocalContainerEntityManagerFactoryBean] Building JPA container EntityManagerFactory for persistence unit 'ExamplePU'  
    10:06:43,296 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
     name: ExamplePU
     ...]  
    10:06:43,296 INFO  [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.  
    10:06:43,296 INFO  [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider  
    10:06:43,296 INFO  [InjectedDataSourceConnectionProvider] Using provided datasource  
    10:06:43,312 INFO  [SettingsFactory] RDBMS: HSQL Database Engine, version: 1.8.0  
    10:06:43,312 INFO  [SettingsFactory] JDBC driver: HSQL Database Engine Driver, version: 1.8.0  
    10:06:43,312 INFO  [Dialect] Using dialect: org.hibernate.dialect.HSQLDialect  
    10:06:43,312 INFO  [TransactionFactoryFactory] Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory  
    10:06:43,312 INFO  [TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)  
    10:06:43,312 INFO  [SettingsFactory] Automatic flush during beforeCompletion(): disabled  
    10:06:43,312 INFO  [SettingsFactory] Automatic session close at end of transaction: disabled  
    10:06:43,312 INFO  [SettingsFactory] JDBC batch size: 15  
    10:06:43,312 INFO  [SettingsFactory] JDBC batch updates for versioned data: disabled  
    10:06:43,312 INFO  [SettingsFactory] Scrollable result sets: enabled  
    10:06:43,312 INFO  [SettingsFactory] JDBC3 getGeneratedKeys(): disabled  
    10:06:43,312 INFO  [SettingsFactory] Connection release mode: auto  
    10:06:43,312 INFO  [SettingsFactory] Default batch fetch size: 1  
    10:06:43,312 INFO  [SettingsFactory] Generate SQL with comments: disabled  
    10:06:43,312 INFO  [SettingsFactory] Order SQL updates by primary key: disabled  
    10:06:43,312 INFO  [SettingsFactory] Order SQL inserts for batching: disabled  
    10:06:43,312 INFO  [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory  
    10:06:43,312 INFO  [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory  
    10:06:43,312 INFO  [SettingsFactory] Query language substitutions: {}  
    10:06:43,312 INFO  [SettingsFactory] JPA-QL strict compliance: enabled  
    10:06:43,312 INFO  [SettingsFactory] Second-level cache: enabled  
    10:06:43,312 INFO  [SettingsFactory] Query cache: disabled  
    10:06:43,312 INFO  [SettingsFactory] Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory  
    10:06:43,312 INFO  [SettingsFactory] Optimize cache for minimal puts: disabled  
    10:06:43,312 INFO  [SettingsFactory] Structured second-level cache entries: disabled  
    10:06:43,312 INFO  [SettingsFactory] Echoing all SQL to stdout  
    10:06:43,312 INFO  [SettingsFactory] Statistics: disabled  
    10:06:43,312 INFO  [SettingsFactory] Deleted entity synthetic identifier rollback: disabled  
    10:06:43,312 INFO  [SettingsFactory] Default entity-mode: pojo  
    10:06:43,312 INFO  [SettingsFactory] Named query checking : enabled  
    10:06:43,312 INFO  [SessionFactoryImpl] building session factory  
    10:06:43,312 INFO  [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured  
    10:06:43,312 INFO  [SchemaUpdate] Running hbm2ddl schema update  
    10:06:43,312 INFO  [SchemaUpdate] fetching database metadata  
    10:06:43,328 INFO  [SchemaUpdate] updating schema  
    10:06:43,328 INFO  [SchemaUpdate] schema update complete  
    10:06:43,484 INFO  [ContextLoader] Root WebApplicationContext: initialization completed in 1313 ms  
    10:06:43,500 INFO  [zkoss] Starting ZK 5.0.4 CE (build: 2010083112)  
    10:06:43,515 INFO  [zkoss] Loading system default  
    10:06:43,625 INFO  [zkoss] Parsing jndi:/localhost/zk5/WEB-INF/zk.xml  
    10:06:43,625 INFO  [zkoss] The event processing thread is disabled  
    10:07:35,265 WARN  [QuerySplitter] no persistent classes found for query class: from org.zkforge.zktodo2.Reminder  
    

    如果你还需要我帮忙,请告诉我。

    3 回复  |  直到 12 年前
        1
  •  5
  •   Mladen Mihajlovic    14 年前

    我在持久性文件中添加了以下内容,它开始运行得很好。

    < class >org.zkforge.zktodo2.Reminder< / class >
    

    添加上面的行在数据库中创建了表,持久性错误就消失了。

    我不知道我们为什么要添加它。有什么理由吗?Spring或Hibernate不应该从reminder.java文件中获取这个信息吗?

        2
  •  1
  •   M. Atif Riaz    12 年前

    对我来说是错的 sessionFactory 配置 packagesToScan 这就是问题的根源

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    
        ....
    <!-- package was incorrect here -->
    <property name="packagesToScan" value="com.foo.test.bean"/>
    

        3
  •  0
  •   Raghuram    15 年前

    日志文件包含以下内容:

    10:06:41,375 WARN [Ejb3Configuration] Persistence
    

    提供程序调用程序未实现 EJB3规范正确。 PersistenceUnitInfo.GetNewTempClassLoader()。 是空的。10:06:41515信息 [AnnotationBinder]绑定实体来自 注释类: org.zkforge.zktodo2.reminder提醒

    我想你应该在 提醒 班级。