Index: topia2/src/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java diff -u topia2/src/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java:1.21 topia2/src/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java:1.22 --- topia2/src/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java:1.21 Thu Apr 27 08:28:40 2006 +++ topia2/src/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java Wed May 10 13:38:32 2006 @@ -24,9 +24,9 @@ * Created: 12 déc. 2005 * * @author Arnaud Thimel -* @version $Revision: 1.21 $ +* @version $Revision: 1.22 $ * -* Mise a jour: $Date: 2006/04/27 08:28:40 $ +* Mise a jour: $Date: 2006/05/10 13:38:32 $ * par : $Author: thimel $ */ @@ -97,12 +97,12 @@ ObjectModelClass superClass = (ObjectModelClass)clazz.getSuperclasses().iterator().next(); String superClassname = superClass.getQualifiedName(); if (log.isDebugEnabled()) {log.debug("superClass for " + clazz.getQualifiedName() + " is " + superClassname);} -/*{ "> +/*{ "> }*/ } else { -/*{ "> +/*{ "> - + @@ -153,7 +153,7 @@ // } */ // } else { -/*{ +/*{ }*/ // } //Ne sert plus grâce à l'utilisation de la navigabilité @@ -230,7 +230,7 @@ /*{ /> +/*{column="<%=GeneratorUtil.getDBName(attr)%>"<%=(GeneratorUtil.notEmpty(attr.getTagValue(GeneratorUtil.TAG_LENGTH))?(" length=\"" + attr.getTagValue(GeneratorUtil.TAG_LENGTH) + "\""):"")%> node="<%=getName(attr)%>"/> }*/ } else { /*{> @@ -246,9 +246,10 @@ } protected void generateHibernateOneToOne(Writer output, ObjectModelAttribute attr) throws IOException { - boolean accessField = hasUnidirectionalRelationOnAbstractType(attr.getReverseAttribute(), model); -/*{ <%=((attr.isComposite() || attr.hasAssociationClass())?" cascade=\"delete\"":"")%><%=((accessField)?" access=\"field\"":"")%>/> -}*/ + generateHibernateManyToOne(output, attr, true); +// boolean accessField = hasUnidirectionalRelationOnAbstractType(attr.getReverseAttribute(), model); +/// *{ <%=((attr.isComposite() || attr.hasAssociationClass())?" cascade=\"delete\"":"")%><%=((accessField)?" access=\"field\"":"")%> node="<%=getName(attr)%>/@topiaId" embed-xml="false"/> +//} */ } protected void generateHibernateOneToMany(Writer output, ObjectModelAttribute attr) throws IOException { @@ -262,16 +263,16 @@ orderBy = "order-by=\"" + orderBy + "\""; } if (!isIndexed) { -/*{ <%=((!isInverse)?"":"inverse=\"true\"")%> lazy="true" <%=((attr.isComposite() || attr.hasAssociationClass())?"cascade=\"delete,delete-orphan\"":"")%>> +/*{ <%=((!isInverse)?"":"inverse=\"true\"")%> lazy="true" <%=((attr.isComposite() || attr.hasAssociationClass())?"cascade=\"delete,delete-orphan\"":"")%> node="<%=getName(attr)%>" embed-xml="true"> - + }*/ }else { -/*{ lazy="true"<%=((attr.isComposite() || attr.hasAssociationClass())?" cascade=\"delete,delete-orphan\"":"")%>> +/*{ lazy="true"<%=((attr.isComposite() || attr.hasAssociationClass())?" cascade=\"delete,delete-orphan\"":"")%> node="<%=getName(attr)%>" embed-xml="false"> - + }*/ } @@ -279,21 +280,34 @@ protected void generateHibernateMany(Writer output, ObjectModelAttribute attr) throws IOException { boolean isIndexed = attr.isIndexed(); -/*{ <<%=(isIndexed?"list":"bag")%> name="<%=getName(attr)%>"> +/*{ <<%=(isIndexed?"list":"bag")%> name="<%=getName(attr)%>" node="<%=getName(attr)%>" embed-xml="true"> }*/ if (isIndexed) { /*{ }*/ } -/*{ +/*{ > }*/ } protected void generateHibernateManyToOne(Writer output, ObjectModelAttribute attr) throws IOException { - boolean accessField = hasUnidirectionalRelationOnAbstractType(attr.getReverseAttribute(), model); -/*{ <%=((accessField)?" access=\"field\"":"")%>/> + generateHibernateManyToOne(output, attr, false); + } + + protected void generateHibernateManyToOne(Writer output, ObjectModelAttribute attr, boolean isUnique) throws IOException { +/*{ }*/ } @@ -304,14 +318,14 @@ // Note(poussin) 20060306: pour moi il n'y a pas jamais d'inverse pour many-to-many // car on est dans une table intermediaire specifique.<%=((!Util.isFirstAttribute(attr))?"inverse=\"true\" ":"")%> boolean isIndexed = attr.isIndexed(); -/*{ <<%=(isIndexed?"list":"bag")%> name="<%=getName(attr)%>" table="<%=getManyToManyTableName(attr)%>" lazy="true"<%=((attr.isComposite() || attr.hasAssociationClass())?" cascade=\"delete,delete-orphan\"":"")%>> +/*{ <<%=(isIndexed?"list":"bag")%> name="<%=getName(attr)%>" table="<%=getManyToManyTableName(attr)%>" lazy="true"<%=((attr.isComposite() || attr.hasAssociationClass())?" cascade=\"delete,delete-orphan\"":"")%> node="<%=getName(attr)%>" embed-xml="true"> }*/ if (isIndexed) { /*{ }*/ } -/*{ +/*{ > }*/ }