Boa tarde Senhores,
tenho uma Entidade mapeada de uma tabela de um banco db2. Nesta tabela (QUOTECRM0) tenho campo LSTMNT do tipo ‘char(10) for bit’ que guarda a data de alteração do registro.
Na Entidade tenho uma @NamedQuery que preciso passar uma data para esse campo LSTMNT, para isso preciso converter minha variavel para o mesmo tipo ‘char(10) for bit’.
Veja a tabela do banco:
CREATE TABLE QUOTECRM0
(
CUNO char(7) NOT NULL,
RFDCNO char(10) NOT NULL,
SEQ bigint NOT NULL,
DOCSU char(1) NOT NULL,
STNO char(2) NOT NULL,
CUNM char(56) NOT NULL,
FRDST char(40) NOT NULL,
TODST char(40) NOT NULL,
MAILDST char(50) NOT NULL,
PHNOW char(15) NOT NULL,
CRIACAO date NOT NULL,
EXPIRACAO date NOT NULL,
[b] LSTMNT char(10) for bit data NOT NULL,[/b]
USPFID char(3) NOT NULL,
USUARIO char(60) NOT NULL,
TOTSEL decimal(13,2) NOT NULL,
VLRIPI decimal(13,2) NOT NULL,
ICMSUB decimal(13,2) NOT NULL,
ESTIMADO decimal(13,2) NOT NULL,
NRETCAT bigint NOT NULL,
ITENS long varchar NOT NULL
)
Veja a Entidade com a @NamedQuery:
[code]@Entity
@Table(name = “quotecrm0”, schema = “pesa200arq”)
@NamedQueries({
@NamedQuery(name = “Proposta.findProposta”, query = “Select Pro from Proposta Pro WHERE Pro.porpostaPK.CUNO = ‘0120219’”),
@NamedQuery(name = “Proposta.findUpdateProposta”, query = “Select Pro from Proposta Pro WHERE Pro.lstmnt=:data”)})
public class Proposta implements Serializable{
@EmbeddedId
private PorpostaPK porpostaPK;
@Column(name = "STNO")
private String stno;
@Column(name = "CUNM")
private String cunm;
@Column(name = "DOCSU")
private String docsu ;
@Column(name = "FRDST")
private String frdst;
@Column(name = "TODST")
private String todst;
@Column(name = "MAILDST")
private String maildst;
@Column(name = "PHNOW")
private String phnow;
@Column(name = "CRIACAO")
private Date criacao;
@Column(name = "EXPIRACAO")
private Date expiracao;
@Column(name = "LSTMNT", columnDefinition="char for bit data")
private byte[] lstmnt;
@Column(name = "USPFID")
private String uspfid;
@Column(name = "USUARIO")
private String usuario;
@Column(name = "TOTSEL")
private Float totsel;
@Column(name = "VLRIPI")
private Float vlripi;
@Column(name = "ICMSUB")
private Float icmsub;
@Column(name = "ESTIMADO")
private Float estimado;
@Column(name = "NRETCAT")
private Float nretcat;
@Column(name = "ITENS")
private String itens;
@Transient
private String idUsuarioZoho;
…gets e sets
[/code]
Veja o código que faz a chamada a NamedQuery
String stringToConvert = "1950-01-01";
byte[] encodedBytes = stringToConvert.getBytes();
List<Proposta> listaPropostas = getEntityRepositoryBeanDBS().findByNamedQuery("Proposta.findUpdateProposta","data",encodedBytes );
Como faço para executar essa consulta passando o parametro de forma que a consulta seje executado corretamente, existe algum charset específico que preciso passar no getBytes() para conseguir a conversão corretamente?
obrigado