Hi all,
I have to tables: ReportCabecera and ReportLogEjecucion.
For one ReportCabecera I can have many ReportLogEjecucion.
To relate a table with another one I have done this:
Code:
package com.uw.diode.entity;
import java.io.Serializable;
import java.sql.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@SuppressWarnings("serial")
@Entity
@Table(name="ReportLogEjecucion")
public class LogEjecucionInformes implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "REPORTLOGEJECUCION_SEQ")
@SequenceGenerator(name="REPORTLOGEJECUCION_SEQ", sequenceName = "reportlogejecucion_seq")
@Column(name="RelogEje_idReportLogEjecucion", precision=10)
public long id;
@Column(name="RelogEje_idReportcabecera")
private CabeceraInforme idCabeceraInforme;
@Column(name="RelogEje_Formatosalida", length=6)
private String formatoSalida;
@Column(name="RelogEje_Fecha")
private Date fechaEjecucion;
@Column(name="RelogEje_Hora", length=6)
private String horaEjecucion;
@Column(name="RelogEje_usuario", length=20)
private String usuario;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@ManyToOne
@JoinColumn(name="RelogEje_idReportcabecera")
public CabeceraInforme getIdCabeceraInforme() {
return idCabeceraInforme;
}
public void setIdCabeceraInforme (CabeceraInforme cabeceraInforme) {
this.idCabeceraInforme = cabeceraInforme;
}
public String getFormatoSalida() {
return formatoSalida;
}
public void setFormatoSalida(String formatoSalida) {
this.formatoSalida = formatoSalida;
}
public Date getFechaEjecucion() {
return fechaEjecucion;
}
public void setFechaEjecucion(Date fechaEjecucion) {
this.fechaEjecucion = fechaEjecucion;
}
public String getHoraEjecucion() {
return horaEjecucion;
}
public void setHoraEjecucion(String horaEjecucion) {
this.horaEjecucion = horaEjecucion;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
}
When I try to use this class the application server throws this exception:
org.springframework.orm.jpa.JpaSystemException: org.hibernate.type.SerializationException: could not deserialize; nested exception is javax.persistence.PersistenceException: org.hibernate.type.SerializationException: could not deserialize
This is my DAO:
Code:
package com.uw.diode.dao;
import java.util.List;
import org.springframework.orm.jpa.support.JpaDaoSupport;
import org.springframework.transaction.annotation.Transactional;
import com.uw.diode.entity.LogEjecucionInformes;
import com.uw.diode.service.LogEjecucionInformesService;
@Transactional
public class LogEjecucionInformesDAO extends JpaDaoSupport implements
LogEjecucionInformesService {
@SuppressWarnings("unchecked")
@Override
public List<LogEjecucionInformes> obtenerTodos() {
List <LogEjecucionInformes> listaLog = getJpaTemplate().find("select lei" +
" from LogEjecucionInformes lei");
return listaLog;
}
}
The table code is:
Code:
create table ReportCabecera(
Recab_idReportCabecera number(10) not null,
Recab_Clave varchar2(20),
Recab_Descorta varchar2(100),
Recab_Deslarga varchar2(500),
Recab_Area varchar2(20),
Recab_Disponibledesde date,
Recab_DisponibleHasta date,
Recab_Nomberuta varchar2(200),
Recab_Fegraba date,
Recab_Emgraba varchar2(20)
)tablespace TBLSPACEUWMVC;
create table ReportLogEjecucion(
RelogEje_idReportLogEjecucion number(10) not null,
RelogEje_idReportcabecera number(10) not null,
RelogEje_Formatosalida varchar2(6),
RelogEje_Fecha date,
RelogEje_Hora varchar2(6),
RelogEje_usuario varchar2(20)
)tablespace TBLSPACEUWMVC;
create unique Index ReportLogEjecucionIn1
on ReportLogEjecucion(RelogEje_idReportLogEjecucion)
tablespace tblspaceuwmvcind;
create index ReportLogEjecucionIn2
on ReportLogEjecucion(RelogEje_idReportcabecera)
tablespace tblspaceuwmvcind;
Can you help me?
Thanks!