Pessoa, recebo esse erro após mapear minha herança com “joined-subclass”
Primeiramente segue meu mapeamento:
<?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">
<!-- Generated 29/11/2010 17:43:35 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class catalog="locadora" name="Negocio.Beans.Usuario" table="usuario">
<id name="idUsuario" type="java.lang.Integer">
<column name="idUsuario"/>
<generator class="native"/>
</id>
<many-to-one class="Negocio.Beans.Tipousuario" fetch="select" name="tipousuario">
<column name="TipoUsuario_idTipoUsuario" not-null="true"/>
</many-to-one>
<property name="login" type="string">
<column length="35" name="login" not-null="true" unique="true"/>
</property>
<property name="senha" type="string">
<column length="45" name="senha" not-null="true"/>
</property>
<property name="nome" type="string">
<column length="60" name="nome" not-null="true"/>
</property>
<joined-subclass catalog="locadora" name="Negocio.Beans.Cliente" table="cliente">
<key column="Usuario_idUsuario"/>
<property name="idCliente" type="java.lang.Integer">
<column name="idCliente" unique = "true"/>
</property>
<property name="telefoneResidencial" type="string">
<column length="20" name="telefoneResidencial" not-null="true"/>
</property>
<property name="telefoneCelular" type="string">
<column length="20" name="telefoneCelular"/>
</property>
<property name="email" type="string">
<column length="40" name="email"/>
</property>
<property name="dataNascimento" type="date">
<column length="10" name="dataNascimento" not-null="true"/>
</property>
<property name="endereco" type="string">
<column length="250" name="endereco" not-null="true"/>
</property>
<property name="rg" type="string">
<column length="25" name="rg" not-null="true" unique="true"/>
</property>
<property name="cpf" type="string">
<column length="25" name="cpf" not-null="true" unique="true"/>
</property>
<property name="sexo" type="char">
<column length="1" name="sexo" not-null="true"/>
</property>
<property name="pendencia" type="boolean">
<column name="pendencia" not-null="true"/>
</property>
<set inverse="true" name="reservas">
<key>
<column name="Cliente_idCliente" not-null="true"/>
</key>
<one-to-many class="Negocio.Beans.Reserva"/>
</set>
<set inverse="true" name="dependentes">
<key>
<column name="Cliente_idCliente" not-null="true"/>
</key>
<one-to-many class="Negocio.Beans.Dependente"/>
</set>
</joined-subclass>
<joined-subclass catalog="locadora" name="Negocio.Beans.Administrador" table="administrador">
<key column="Usuario_idUsuario"/>
<property name="idAdministrador" type="java.lang.Integer">
<column name="idAdministrador" unique = "true" />
</property>
</joined-subclass>
<joined-subclass catalog="locadora" name="Negocio.Beans.Funcionario" table="funcionario">
<key column="Usuario_idUsuario"/>
<property name="idFuncionario" type="java.lang.Integer">
<column name="idFuncionario" unique = "true" />
</property>
<property name="sexo" type="char">
<column length="1" name="sexo" not-null="true"/>
</property>
<property name="telefone" type="string">
<column length="20" name="telefone" not-null="true"/>
</property>
<property name="carteiraTrabalho" type="string">
<column length="45" name="carteiraTrabalho" not-null="true" unique="true"/>
</property>
<set inverse="true" name="vendas">
<key>
<column name="Funcionario_idFuncionario" not-null="true"/>
</key>
<one-to-many class="Negocio.Beans.Venda"/>
</set>
<joined-subclass catalog="locadora" name="Negocio.Beans.Gerente" table="gerente">
<key column="Funcionario_idFuncionario"/>
<property name="idGerente" type="java.lang.Integer">
<column name="idGerente" unique = "true" />
</property>
</joined-subclass>
</joined-subclass>
</class>
</hibernate-mapping>
Agora meus POJos
package Negocio.Beans;
// Generated 29/11/2010 21:10:28 by Hibernate Tools 3.2.1.GA
/**
* Usuario generated by hbm2java
*/
public class Usuario implements java.io.Serializable {
private Integer idUsuario;
private Tipousuario tipousuario;
private String login;
private String senha;
private String nome;
public Usuario() {
}
public Usuario(Tipousuario tipousuario, String login, String senha, String nome) {
this.tipousuario = tipousuario;
this.login = login;
this.senha = senha;
this.nome = nome;
}
public Integer getIdUsuario() {
return this.idUsuario;
}
public void setIdUsuario(Integer idUsuario) {
this.idUsuario = idUsuario;
}
public Tipousuario getTipousuario() {
return this.tipousuario;
}
public void setTipousuario(Tipousuario tipousuario) {
this.tipousuario = tipousuario;
}
public String getLogin() {
return this.login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return this.senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
