E aí, galerinha do GUJ. Tudo bem com vocês?
Vejam só: Eu tenho uma tabela "Pessoas", uma tabela "Funcionarios" e uma tabela "Empresas". Ambas tabelas "Funcionarios" e "Empresas" possuem, como chave primária, uma coluna que é chave estrangeira de "Pessoas".CREATE TABLE dbo.PESSOAS (
ID BIGINT NOT NULL PRIMARY KEY,
NOME VARCHAR(100));
CREATE TABLE dbo.FUNCIONARIOS (
PESSOA BIGINT NOT NULL PRIMARY KEY,
FOREIGN KEY (PESSOA) REFERENCES dbo.PESSOAS(ID),
CRACHA VARCHAR(20));
CREATE TABLE dbo.EMPRESAS (
PESSOA BIGINT NOT NULL PRIMARY KEY,
FOREIGN KEY (PESSOA) REFERENCES dbo.PESSOAS(ID),
NOMEFANTASIA VARCHAR(50));
@Entity
@DiscriminatorValue("pessoa")
@Table(schema="dbo", name="PESSOAS")
@Inheritance(strategy=InheritanceType.JOINED)
@SequenceGenerator(sequenceName="dbo.SEQ_PESSOAS", name="s")
public abstract class Pessoa implements Serializable {
@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="s")
private long pessoaID;
@Column(name="NOME", nullable=false)
private String nome;
}
@Entity
@Table(schema="dbo", name="FUNCIONARIOS")
@PrimaryKeyJoinColumn(name="pessoaID")
public class Funcionario extends Pessoa {
private String cracha;
}
@Entity
@Table(schema="dbo", name="EMPRESAS")
@PrimaryKeyJoinColumn(name="pessoaID")
public class Empresa extends Pessoa {
private String nomeFantasia;
}
org.hibernate.MappingException: Unable to find column with logical name: ID in org.hibernate.mapping.Table(dbo.PESSOAS) and its related supertables and secondary tables
Não consigo compreendê-lo bem, vocês podem me dar uma ajuda sobre o problema?
Valeu, galera,
fiquem com Deus! :D
