Ola eu tenho a query abaixo, porem estou levando um erro de conversãoinsertion type [org.hibernate.type.IntegerType@45a789bd] and selection type [org.hibernate.type.LongType@7a43fb04]
Query
String hql = "INSERT INTO Logs (quant, erro, serviceId, sla, sys) "
+ "SELECT CEILING(COUNT(serviceId)/2) as quant, SUM(erro) as erro, "
+ "serviceId, CEILING(AVG(elapsedTime)) as sla, sys "
+ "FROM Log WHERE serviceId <> '' GROUP BY serviceId,sys ORDER BY quant "
+ "DESC";
Classe Logs e Log são iguais
@Entity
@Table(name="LOGS")
public class Logs {
@Id
@Column(name = "ID_LOG", nullable = false, length = 6)
@GeneratedValue
private String idLog;
/** USERID */
@Column(name="USERID")
private String userId;
/** LOGTIMESTAMP */
@Column(name="LOGTIMESTAMP")
private String logTimeStamp;
/** ELAPSEDTIME */
@Column(name="ELAPSEDTIME")
private String elapsedTime;
/** Quantidade de execuções */
@Column(name="QUANTIDADE")
private int quant;
/** Nome do serviço */
@Column(name="SERVICEID")
private String serviceId;
/** Nome do serviço */
@Column(name="SLA")
private String sla;
/** Sistema que invocou o serviço*/
@Column(name="SISTEMA")
private String sys;
/** Quantidade de erros de execução*/
@Column(name="QUANTIDADE_ERRO")
private int erro;
/** Identificação do sistema*/
@Column(name="ID_SISTEMA")
private int idSistema;
/** Identificação do serviço*/
@Column(name="ID_SERVICO")
private int idServico;
/** Identificação do serviço*/
@Column(name="EXCHANNEL")
private String exChannel;
//private Set<SysBean> sistema;
//private SysBean sigla;
/** Metadata */
//@OneToMany(mappedBy = "log", targetEntity = Metadata.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
//@JoinColumn(name="ID_SERVICO")
//@OneToMany(mappedBy = "log", targetEntity = LogMetadata.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
//@JoinTable(name="METADATA",
//joinColumns={@JoinColumn(name="ID_SERVICO")})
//private List<LogMetadata> metadataList;
public Logs(){}
public Logs(String idLog, int quant, String serviceId, String sla, String exChannel, String sys, int erro,
int idSistema, int idServico, List<LogMetadata> metadataList) {
super();
this.idLog = idLog;
this.quant = quant;
this.serviceId = serviceId;
this.sla = sla;
this.sys = sys;
this.erro = erro;
this.idSistema = idSistema;
this.idServico = idServico;
this.exChannel = exChannel;
metadataList = metadataList;
}
public String getIdLog() {
return idLog;
}
public void setIdLog(String idLog) {
this.idLog = idLog;
}
public int getQuant() {
return quant;
}
public void setQuant(int quant) {
//this.quant += quant;
this.quant = quant;
}
public String getServiceId() {
return serviceId;
}
public void setServiceId(String serviceId) {
this.serviceId = serviceId;
}
public String getSys() {
return sys;
}
public void setSys(String sys) {
this.sys = sys;
}
public int getErro() {
return erro;
}
public void setErro(int erro) {
//this.erro += erro;
this.erro = erro;
}
public int getIdSistema() {
return idSistema;
}
public void setIdSistema(int idSistema) {
this.idSistema = idSistema;
}
public int getIdServico() {
return idServico;
}
public void setIdServico(int idServico) {
this.idServico = idServico;
}
public String getExChannel() {
return exChannel;
}
public void setExChannel(String exChannel) {
this.exChannel = exChannel;
}
public String getSla() {
return sla;
}
public void setSla(String sla) {
this.sla = sla;
}
public void setmetadataList(List<LogMetadata> metadataList) {
metadataList = metadataList;
}
/*
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + erro;
result = prime * result
+ ((exChannel == null) ? 0 : exChannel.hashCode());
result = prime * result + ((idLog == null) ? 0 : idLog.hashCode());
result = prime * result + idServico;
result = prime * result + idSistema;
result = prime * result + quant;
result = prime * result
+ ((serviceId == null) ? 0 : serviceId.hashCode());
result = prime * result + ((sys == null) ? 0 : sys.hashCode());
return result;
}
*/
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getLogTimeStamp() {
return logTimeStamp;
}
public void setLogTimeStamp(String logTimeStamp) {
this.logTimeStamp = logTimeStamp;
}
public String getElapsedTime() {
return elapsedTime;
}
public void setElapsedTime(String elapsedTime) {
this.elapsedTime = elapsedTime;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((serviceId == null) ? 0 : serviceId.hashCode());
return result;
}
/* public Set<SysBean> getSistema() {
return sistema;
}
public void setSistema(Set<SysBean> sistema) {
this.sistema = sistema;
}
public SysBean getSigla(){return sigla;}
public void setSigla(SysBean sigla){this.sigla=sigla}
*/
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Logs other = (Logs) obj;
if (serviceId == null) {
if (other.serviceId != null)
return false;
} else if (!serviceId.equals(other.serviceId))
return false;
//other.setErro(getErro());
//other.setQuant(getQuant());
//other.getSistema().add(getSigla());
return true;
}
}