6
respostas

Dúvida Retorno de Dados

Tenho um duvida no banco de dados coloquei algumas registro como null e ao chamar o get para pesquisa da ruim para preencher o retorno. tem alguma forma para eu tratar esse classe para aceitar o campo null.

6 respostas

Oi Diego,

Em qual atributo que está como null?

eu coloquei um novo registro e coloquei e na coluna mensagem da tabela Topico coloquei como null. não sei se consegui explicar

Oi Diego,

Os valores podem ser null sem problemas, sendo que você teria que tratar apenas ao exibir tais informações.

Consegue postar aqui o código que está gerando erro por conta do valor estar null?

eu fiz um novo código

@Query(value = "SELECT * FROM TBGE_ANLS_RISC u WHERE u.COD_PCM_MTZ =:codigoProcessamento", nativeQuery = true) List geralMatrizRisco(@Param("codigoProcessamento") short codigoProcessamento);

pode ser porque o campo na entidade e short e recebe um null tem como tratar esse retorno na variável short ou int

tive que fazer assim pois os campos da minha coluna são diferente da minha classe

outra coisa meu campos o colega criou com _ exemplo nome_nome como faço o mapeamento findBy

package ge.analise.risco.start.matriz.java_lambda_analise_risco.modelo;

import java.time.LocalDateTime;

import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table;

@Entity @Table(name = "TBGE_ANLS_RISC") public class AnaliseDeRisco {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "COD_TAB", nullable = false)
private int codigoTabela;

@Column(name = "COD_PCM_PLD")
private short codigoProcessamentoPrevencaoLavagenDinheiro;

@Column(name = "NUM_CPF_CNPJ", nullable = false)
private Long cpfCnpj;

@Column(name = "COD_GRU", nullable = false)
private int codigoGrupo;

@Column(name = "COD_RISC", nullable = false)
private String codigoRisco;

@Column(name = "COD_PLD", nullable = false)
private String codigoPLD;

@Column(name = "DTH_ATLZ", nullable = false)
private LocalDateTime dataAtualizacao;

@Column(name = "DTH_INCL", nullable = false)
private LocalDateTime dataInclusao;

@Column(name = "COD_OPID_ULT_ATLZ", nullable = true)
private String codigoOpid;

@Column(name = "NUM_TNTA_PLD", nullable = true)
private short numeroTentativa;

@Column(name = "NUM_SLC_MTZ_RISC", nullable = true)
private int numeroSolicitacaoMatrizRisco;

@Column(name = "COD_PESO_GRL_MTZ_RISC", nullable = true)
private short codigoPesoGeralMatrizRisco;

@Column(name = "COD_PCM_MTZ", nullable = true)
private short codigoProcessamentoMatriz;

Ah sim,

Nas entidades o ideal é declarar os atributos como classe, ao invés do tipo primitivo.

Altere para:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "COD_TAB", nullable = false)
private Integer codigoTabela;

@Column(name = "COD_PCM_PLD")
private Short codigoProcessamentoPrevencaoLavagenDinheiro;

@Column(name = "NUM_CPF_CNPJ", nullable = false)
private Long cpfCnpj;

@Column(name = "COD_GRU", nullable = false)
private Integer codigoGrupo;

@Column(name = "COD_RISC", nullable = false)
private String codigoRisco;

@Column(name = "COD_PLD", nullable = false)
private String codigoPLD;

@Column(name = "DTH_ATLZ", nullable = false)
private LocalDateTime dataAtualizacao;

@Column(name = "DTH_INCL", nullable = false)
private LocalDateTime dataInclusao;

@Column(name = "COD_OPID_ULT_ATLZ", nullable = true)
private String codigoOpid;

@Column(name = "NUM_TNTA_PLD", nullable = true)
private Short numeroTentativa;

@Column(name = "NUM_SLC_MTZ_RISC", nullable = true)
private Integer numeroSolicitacaoMatrizRisco;

@Column(name = "COD_PESO_GRL_MTZ_RISC", nullable = true)
private Short codigoPesoGeralMatrizRisco;

@Column(name = "COD_PCM_MTZ", nullable = true)
private Short codigoProcessamentoMatriz;

Pois assi vai aceitar null e parar de dar exception.