Boa Noite galera,
estou fazendo um sistema com Spring+Hibernate+Anotations, com BD Firebird.
Nesse sistema eu tenho uma Superclasse Concreta usuário, da qual eu tenho uma classe abstrata Funcionario que herda dela.
Por sua Vez, Tenho duas subclasses FuncionarioSindicato e FuncionarioEmpresa que herdam de Funcionario.
Só que acontece um erro de JDBC quando tento salvar um objeto FuncionarioSidicato:
Table unknown
FUNCIONARIOSINDICATO
Esse mapeamento está correto? o que devo fazer???
PS: Não tenho tanta experiência com Hibernate e Annotations, então sintam-se livres para criticar
rsrs
CLASSE USUARIO
package sindicalweb.pojo;
import java.io.Serializable;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@Table(name="USUARIO")
@SequenceGenerator(name = "GEN_USUARIO_ID", sequenceName = "GEN_USUARIO_ID", allocationSize=1 )
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GEN_USUARIO_ID")
@Column(name="CD_USUARIO")
private Long codigo;
(...)
CLASSE FUNCIONARIO
@Entity
@MappedSuperclass
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(
name="DISCRIMINATOR",
discriminatorType=DiscriminatorType.STRING)
@DiscriminatorValue("FUNCIONARIO")
@PrimaryKeyJoinColumn(name="CD_FUNCIONARIO")
@Table(name="FUNCIONARIO")
public abstract class Funcionario extends Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="NR_CPF")
private String CPF;
@Column(name="NR_RG")
private String RG;
(...)
Classe FuncionarioSindicato
@Entity
@DiscriminatorValue("FS")
@Inheritance
public class FuncionarioSindicato extends Funcionario implements Serializable {
private static final long serialVersionUID = 1L;
@ManyToOne
@JoinColumn(name="CD_SINDICATO")
private Sindicato sindicato;
(...)