Que tal Marcos!!! Te respondo:
Cita:
Iniciado por tutorialjava Y Como lo estas intentando hacer?
Bueno la verdad, hace poco descubri Hibernate y me parecio fantastico
jajajaj.... pero por la misma falta de experiencia se me ocurrieron algunas ideas (las cuales hasta cierto puntos me parecen ineficientes o tediosas).... te menciono una de ellas:
Tengo 3 clases Prospecto, Telefono y ProspectoTelefono; cuyos atributos para cada una de ellas son los siguientes:
Código java:
Ver original private static final long serialVersionUID = 1L;
private ProspectoId id;
private Ocupacion ocupacion;
private Origen origen;
private boolean socio;
private Date fechaLlamada
; private boolean asitencia;
private Byte tiempoReciclaje
; private Set<ProspectoTelefono> prospectoTelefonos = new HashSet<ProspectoTelefono>(0);
Código java:
Ver original private static final long serialVersionUID = 1L;
private TelefonoId id;
private CodigoArea codigoArea;
private Set<ProspectoTelefono> prospectoTelefonos = new HashSet<ProspectoTelefono>(0);
Código java:
Ver originalpublic class ProspectoTelefono
implements java.
io.
Serializable { private static final long serialVersionUID = 1L;
private ProspectoTelefonoId id;
private Telefono telefono;
private Prospecto prospecto;
private boolean citaConcertada;
Creo los objetos
Prospecto,
Telefono,
ProspectoTelefono y posteriormente mando a grabar con
session.save() a cada uno de mis objetos. Esto significaria 3 llamadas a mi DB y estoy hablando de miles de objetos
mmm.... bueno talvez menos dado que uso lotes, como dije antes creo que es muy ineficiente.
Cita:
Iniciado por tutorialjava Bueno, si hablas de una relacion de muchos a muchos estas hablando de dos entidades, no es asi?
Pero tu mencionas que tienes 3, Telefono, Prospecto y ProspectoTelefono...
La tabla
ProspectoTelefono me sirve para romper la relación muchos a muchos que existe entre las tablas
Prospecto y
Telefono Cita:
Iniciado por tutorialjava Si lo que quieres es hacer una relacion por un lado entre Telefono y TelefonoProspecto y por otro lado entre Prospecto y ProspectoTelefono, entonces no se trata de una relacion muchos a muchos sino de dos relaciones uno a muchos.
Para ello lo que tiens que hacer es lo siguiente:
1º Llena primero los atributos de la entidad Telefono
Telefono t = new Telefono(llena los atributos);
2º Llena luego los atributos de la entidad Prospecto
Prospecto p = new Prospecto(llena los atributos);
3º Llena los atributos de ProspectoTelefofono
ProspectoTelefono pt = new ProspectoTelefono(t, p);
4º Atribuir a Telefono y Prospecto la entidad ProspectoTelefonoRelacionada, por ej.
t.setProspectoTelefono(pt);
p.setProspectoTelefono(pt);
4º Haz el persist de Prospecto telefono en tu sesion
em.persist(pt);
Listo, deberia funcionar.
En está parte que mencionas me surge una duda
: ¿Es posible crear los objetos
Prospecto,
Telefono y
ProspectoTelefono y al momento de darle un
save o
persist a mi objeto
ProspectoTelefono automaticamente se hacen persistentes los objetos
Prospecto y
Telefono?
Gracias Marcos por tu respuesta
.