Quando tento acessar a aplicação é mostrado esse erro, já procurei pelas classes mas n achei onde pode está alguma atributo com tipos diferentes, coloquei o Log4j mas tb n achei.
Se algum puder me ajuda - Console:
Hibernate: select login0_.usuario as usuario8_1_, login0_.Funcionario_Pessoa_idPessoa as Funciona4_8_1_, login0_.grupo as grupo8_1_, login0_.senha as senha8_1_, funcionari1_.idPessoa as idPessoa0_0_, funcionari1_1_.celular as celular0_0_, funcionari1_1_.cep as cep0_0_, funcionari1_1_.cidade as cidade0_0_, funcionari1_1_.estado as estado0_0_, funcionari1_1_.numero_imovel as numero6_0_0_, funcionari1_1_.rua as rua0_0_, funcionari1_1_.telefone as telefone0_0_, funcionari1_.data_admissao as data1_5_0_, funcionari1_.funcao as funcao5_0_, funcionari1_.matricula as matricula5_0_, funcionari1_.nome as nome5_0_, funcionari1_.status_funcao as status5_5_0_ from Login login0_ left outer join Funcionario funcionari1_ on login0_.Funcionario_Pessoa_idPessoa=funcionari1_.idPessoa left outer join Pessoa funcionari1_1_ on funcionari1_.idPessoa=funcionari1_1_.idPessoa where login0_.usuario=?
Hibernate: select login0_.usuario as usuario8_1_, login0_.Funcionario_Pessoa_idPessoa as Funciona4_8_1_, login0_.grupo as grupo8_1_, login0_.senha as senha8_1_, funcionari1_.idPessoa as idPessoa0_0_, funcionari1_1_.celular as celular0_0_, funcionari1_1_.cep as cep0_0_, funcionari1_1_.cidade as cidade0_0_, funcionari1_1_.estado as estado0_0_, funcionari1_1_.numero_imovel as numero6_0_0_, funcionari1_1_.rua as rua0_0_, funcionari1_1_.telefone as telefone0_0_, funcionari1_.data_admissao as data1_5_0_, funcionari1_.funcao as funcao5_0_, funcionari1_.matricula as matricula5_0_, funcionari1_.nome as nome5_0_, funcionari1_.status_funcao as status5_5_0_ from Login login0_ left outer join Funcionario funcionari1_ on login0_.Funcionario_Pessoa_idPessoa=funcionari1_.idPessoa left outer join Pessoa funcionari1_1_ on funcionari1_.idPessoa=funcionari1_1_.idPessoa where login0_.Funcionario_Pessoa_idPessoa=?
2010-11-09 05:47:19,859 (JDBCExceptionReporter.java:100) WARN - SQL Error: 0, SQLState: 42883
2010-11-09 05:47:19,859 (JDBCExceptionReporter.java:101) ERROR - ERRO: operador não existe: integer = character varying
09/11/2010 05:47:19 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet LoginServlet threw exception
org.hibernate.exception.SQLGrammarException: could not load an entity: [model.Login#1]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1895)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71)
at org.hibernate.loader.entity.EntityLoader.loadByUniqueKey(EntityLoader.java:108)
at org.hibernate.persister.entity.AbstractEntityPersister.loadByUniqueKey(AbstractEntityPersister.java:1672)
at org.hibernate.type.EntityType.loadByUniqueKey(EntityType.java:641)
at org.hibernate.type.EntityType.resolve(EntityType.java:415)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:139)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:877)
Classe fncionario
[code]@Entity
@Table(name=“Funcionario”)
@PrimaryKeyJoinColumn(name = “idPessoa”)
@SequenceGenerator(name=“seq_funcionario”,sequenceName=“seq_funcionario”)
public class Funcionario extends Pessoa implements Serializable{
/**
*
*/
private static final long serialVersionUID = -7719836671125030299L;
@Column(name="matricula", unique=true)
@GeneratedValue(generator="seq_funcionario",strategy = GenerationType.AUTO)
private int matricula;
@Column(name="data_admissao")
@Temporal(TemporalType.DATE)
private Date data_admissao;
@Column(name="status_funcao")
private String status_funcao;
@Column(name="nome")
private String nome;
@Column(name="funcao")
private String funcao;
//relacionamentos
@OneToOne(mappedBy="funcionario")
@Cascade(CascadeType.ALL)
private Login login;
@OneToMany(mappedBy="funcionario", fetch = FetchType.LAZY)
@Cascade(CascadeType.ALL)
private Collection <Pedido_Compra> pedidos;
@OneToMany(mappedBy="funcionario", fetch = FetchType.LAZY)
@Cascade(CascadeType.ALL)
private Collection <Venda> vendas;[/code]
classe login
[code]@Entity
@Table(name = “Login”)
public class Login {
@Id
@Column(unique=true, nullable=false)
private String usuario;
private String senha;
private char grupo;
//Relacionamento
@OneToOne
//@JoinColumns({
// @JoinColumn(name="Funcionario_matricula", referencedColumnName="matricula", insertable=true, updatable=true),
// @JoinColumn(name="Funcionario_Pessoa_idPessoa", referencedColumnName="idPessoa",insertable=true, updatable=true)})
@JoinColumn(name="Funcionario_Pessoa_idPessoa", referencedColumnName="idPessoa",insertable=true, updatable=true)
private Funcionario funcionario;
[/code]
e esses são os scripts do BD:
[code]CREATE TABLE Funcionario (
matricula INTEGER NOT NULL,
idPessoa INTEGER NOT NULL,
data_admissao DATE NOT NULL,
status_funcao VARCHAR(20) NOT NULL,
nome VARCHAR(50) NOT NULL,
funcao VARCHAR(20) NOT NULL,
PRIMARY KEY(idPessoa),
FOREIGN KEY(idPessoa)
REFERENCES Pessoa(idPessoa)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Login (
usuario VARCHAR(45) NOT NULL,
Funcionario_Pessoa_idPessoa INTEGER NOT NULL,
senha VARCHAR(10) NOT NULL,
grupo VARCHAR(10) NOT NULL,
PRIMARY KEY(usuario),
FOREIGN KEY(Funcionario_Pessoa_idPessoa)
REFERENCES Funcionario(idPessoa)
);[/code]
Onde estou errando aqui?
LI nesse post que o Postgres 8.3 http://www.guj.com.br/posts/list/208120.java#1057423
apresenta esse bug, eu uso o 8.4, pode ser isso?