pessoal,
estou tentando fazer uma herança pelo Hibernate onde as classes Funcionario e Cliente descendem da classe Usuario.
Usuario.hbm.xml
# <?xml version="1.0" encoding="UTF-8"?>
# <!DOCTYPE hibernate-mapping PUBLIC
# "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
# "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
#
# <hibernate-mapping>
# <class name="com.domain.Usuario" table="USUARIO">
# <id name="idUsuario" column="ID_USUARIO">
# <generator class="increment"/>
# </id>
# <property name="login" type="string" column="LOGIN"/>
# <property name="nomeUsuario" type="string" column="NOME_USUARIO"/>
# <property name="senha" type="string" column="SENHA"/>
# <property name="dataUltimoAcesso" type="timestamp" column="DATA_ULTIMO_ACESSO"/>
#
# <set name="listaEnderecos" table="ENDERECO"
# lazy="false"
# cascade="save-update">
# <key column="ID_USUARIO"/>
# <one-to-many class="com.domain.Endereco"/>
# </set>
#
# <discriminator
# column="TIPO_USUARIO"
# type="java.lang.String"
# />
#
# <subclass name="com.domain.Cliente" discriminator-value="Cliente">
# </subclass>
#
# <subclass name="com.domain.Funcionario" discriminator-value="Funcionario">
# </subclass>
#
# </class>
# </hibernate-mapping>
Estou obtendo o seguinte erro:
- 14:59:09,078 INFO [Configuration] Reading mappings from resource: com/hibernate/Usuario.hbm.xml
- 14:59:09,187 ERROR [XMLHelper] Error parsing XML: XML InputStream(34) The content of element type “class” must match “(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array),((join,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,resultset*,(query|sql-query)*)”.
- 14:59:09,218 ERROR [STDERR] org.hibernate.MappingException: Could not read mappings from resource: com/hibernate/Usuario.hbm.xml
- at org.hibernate.cfg.Configuration.addResource(Configuration.java:518)
- at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1506)
- at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1474)
- at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1453)
- at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1427)
- at org.hibernate.cfg.Configuration.configure(Configuration.java:1347)
- at org.hibernate.cfg.Configuration.configure(Configuration.java:1333)
- at org.util.HibernateUtil.<clinit>(HibernateUtil.java:15)
- at org.pattern.IBaseDB.<init>(IBaseDB.java:13)
- at com.persistence.PrcUsuarioDAO.<init>(PrcUsuarioDAO.java:12)
- at com.domain.Usuario.realizaLoginUsuario(Usuario.java:32)
- at com.backingbean.AutenticarBean.realizaLoginUsuario(AutenticarBean.java:81)
- at com.backingbean.AutenticarBean.loginUsuario(AutenticarBean.java:44)
- 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:324)
- at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
- at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
- at javax.faces.component.UICommand.broadcast(UICommand.java:106)
- at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:180)
- at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:158)
- at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:329)
- at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
- at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
- at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
- at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
- at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
- at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
- at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
- at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
- at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
- at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
- at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
- at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
- at java.lang.Thread.run(Thread.java:534)
- Caused by: org.hibernate.MappingException: invalid mapping