Boa tarde galera, estou com um problema no meu WebService, que faz acesso a um banco firebird, o meu ws gera um json de uma tabela do banco.
Mas eu não estou conseguindo gerar o json pq esta dando erro em um campo com o nome de “HIDROMETRO” do tipo “CHAR”, sendo que essas propriedades esta no banco firebird. E na minha entidade no java esta assim:
@Column(name="HIDROMETRO", nullable = false)
private String hidrometro;
Com os getters e setters, e qndo eu tiro esse campo da minha entidade ele executa normal e mostra os dados no formato json, mas sem o campo hidrometro.
E qndo eu deixo o campo ele gera essa exception:
Grave: ... Initial SessionFactory creation failed: org.hibernate.HibernateException: Wrong column type: HIDROMETRO, expected: varchar(255)
Grave: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.lang.ExceptionInInitializerError
Alguem pode me disser o que pode ser? Obrigado!!!
Camarada, tem algo muito errado aí.
Ele está assumindo a propriedade name como sendo columnDefinition
Posta a entidade inteira ai…
nullable = false
Seu campo lá está como not null. Você está passando esse valor na hora de alterar/criar o objeto que tem o atributo hidrometro?
[quote=jakefrog]nullable = false
Seu campo lá está como not null. Você está passando esse valor na hora de alterar/criar o objeto que tem o atributo hidrometro?[/quote]
Pode até ser que seja erro quanto a campo not null, mas isso não diz que é esta situação
[quote]Wrong column type: HIDROMETRO, expected: varchar(255)
[/quote]
Fiz algumas alterações nela mas ainda continua dando o erro!! Rsrsrs.
@Entity
@Table(name="CONTRIBUINTE")//define o nome da tabela.
@Inheritance(strategy = InheritanceType.JOINED)
@XmlRootElement//anotação para gerar arquivo xml/json
public class Contribuinte implements Serializable {
private static final long serialVersionUID = 1L;
@Id//define a coluna que sera chave primaria.
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="CODIGO", nullable = false)//define o nome da coluna.
private Integer codigo;
@Column(name="SEQUENCIA", nullable = false)
private Integer sequencia;
@Column(name="NOME_PROPRIETARIO", nullable = false, length = 50)
private String nome_proprietario;
@Column(name="HIDROMETRO")
private String hidrometro;
@Column(name="DATA_HIDROMETRO", length=20)
private Date data_hidrometro;
@Column(name="COD_ENDERECO", nullable = false, length=3)
private Integer cod_endereco;
@Column(name="NUMERO")
private Integer numero_casa;
//getters e setters
[quote=jakefrog]nullable = false
Seu campo lá está como not null. Você está passando esse valor na hora de alterar/criar o objeto que tem o atributo hidrometro?[/quote]
Verifiquei no banco e vi que nao é not null por isso alterei o atributo, estou apenas buscando informações no banco e exibindo elas no formado json.