Uploaded image for project: 'Hibernate ORM'
  1. HHH-1917

Bulk Delete on the owning side of a ManyToMany relation needs to delete corresponding rows from the JoinTable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.2.0.cr2
    • Fix Version/s: 4.2.0.CR1, 4.1.10, 4.3.0.Beta1
    • Component/s: hibernate-core
    • Labels:
      None
    • Environment:
      Hibernate 3.2 cr2
      Hibernate Annotations 3.2.0.CR1
      Hibernate Entity Manager 3.2.0.CR1
      Oracle 10.1, with Oracle 10.2 JDBC Driver
    • Last commented by a user?:
      true

      Description

      Emmanuel says in http://forum.hibernate.org/viewtopic.php?t=961140,

      [quote]I also know we need to fix some limitations regarding associations table updates / delete and bulk operations[/quote]

      This issue provides a reminder that this task is pending.

      For bulk deletes, consider this scenario: Assume Person and Group entities in a bidirectional ManyToMany relationship with Group as the owning side. This implies a Join table, with the default name of Group_Person. Currently issuing

      em.createQuery("delete from Group").executeUpdate();

      makes no attempt to delete the corresponding rows from Group_Person, even though Group is the owning side, giving constraint errors. Since Group_Person has no corresponding entity, I don't think the spec's prohibition on lifecycle operations or cascading applies here. The only workarround is to individually delete the Groups.
      --keenan

        Attachments

          Issue links

            Activity

              People

              • Votes:
                18 Vote for this issue
                Watchers:
                22 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: