| ##included template. Generates the @ManyToMany annotation. |
| ##Assumes that the context has a "role" object representing the generated AssociationRole |
| #set ($cascade=$customizer.genCascadesXml($role)) |
| #if ($role.association.bidirectional && !$role.isReferrerRole())##the owning side (either side for many-to-many) |
| #set ($members = $customizer.appendAttribute("", "name", $role.propertyName, true)) |
| #set ($members = $customizer.appendAttribute($members, "mapped-by", $role.oppositeRole.propertyName, true)) |
| #set ($members = $customizer.appendAttribute($members, "target-entity", $role.referencedTable.qualifiedClassName, true)) |
| #set ($members = $customizer.appendAttribute($members, "attribute-type", $role.referencedTable.defaultCollectionType, true)) |
| #if ($customizer.genFetchXml($role.referrerTable)!="" && $customizer.genFetchXml($role.referrerTable)!="LAZY") |
| #set ($members = $customizer.appendAttribute($members, "fetch", $customizer.genFetchXml($role.referrerTable), true)) |
| #end |
| <many-to-many $members> |
| #if ($cascade!="") |
| <cascade> |
| $cascade |
| </cascade> |
| #end |
| </many-to-many> |
| #else |
| #set ($members = $customizer.appendAttribute("", "name", $role.propertyName, true)) |
| #set ($members = $customizer.appendAttribute($members, "target-entity", $role.referencedTable.qualifiedClassName, true)) |
| #set ($members = $customizer.appendAttribute($members, "attribute-type", $role.referencedTable.defaultCollectionType, true)) |
| #if ($customizer.genFetchXml($role.referrerTable)!="" && $customizer.genFetchXml($role.referrerTable)!="LAZY") |
| #set ($members = $customizer.appendAttribute($members, "fetch", $customizer.genFetchXml($role.referrerTable), true)) |
| #end |
| <many-to-many $members> |
| #parse("join.vm") |
| #if ($cascade!="") |
| <cascade> |
| $cascade |
| </cascade> |
| #end |
| </many-to-many> |
| #end |