Tengo dos tablas con la asociación muchas-a-muchas.Hibernar: eliminar asociación muchos-a-muchos
- fragmento DB:
cargas
Id
Nombre
sesiones
Id
Fecha
sessionsloads
LOADID
SessionId
- Hibernate fragmentos de asignación:
/* loads.hbm.xml */
<set name="sessions" table="sessionsloads" inverse="true">
<key column="LoadId" />
<many-to-many column="SessionId" class="Session" />
</set>
…
/* sessions.hbm.xml */
<set name="loads" table="sessionsloads">
<key column="SessionId" />
<many-to-many column="LoadId" class="Load" />
</set>
el fin de eliminar una entrada de la tabla de asociación sessionsloads, ejecuto este código:
Session session = sessionDao.getObject(sessionId);
Load load = loadDao.getObject(loadId);
load.getSessions().remove(session);
loadDao.saveObject(load);
Pero, después del lanzamiento, este código no cambia nada.
¿Cuál es la forma correcta de eliminar una asociación?
Gracias, lo intenté, pero tampoco funciona. Hibernate incluso no escribe ninguna consulta 'delete' en el registro. – 0x2D9A3
@Bar Debe haber otro problema en alguna parte porque definitivamente funciona. Trataré de reproducirlo más tarde con su mapeo, pero sé que está funcionando. –
Como mencionaste, 'cascade' no funciona en este caso, ¿verdad? Además, la gente dice que puede funcionar con 'session.flush()'. Pero, ¿qué puedo hacer si uso 'getHibenateTemplate'? – 0x2D9A3