Author: chatellier Date: 2009-02-20 09:09:24 +0000 (Fri, 20 Feb 2009) New Revision: 1385 Modified: topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java Log: Remove unique constraints for x->0..1 relations Modified: topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java =================================================================== --- topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java 2009-02-20 08:58:09 UTC (rev 1384) +++ topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/generator/EntityHibernateMappingGenerator.java 2009-02-20 09:09:24 UTC (rev 1385) @@ -343,10 +343,16 @@ } protected void generateHibernateOneToOne(Writer output, ObjectModelAttribute attr, String prefix) throws IOException { - generateHibernateManyToOne(output, attr, true, prefix); -// boolean accessField = hasUnidirectionalRelationOnAbstractType(attr.getReverseAttribute(), model); +// boolean accessField = hasUnidirectionalRelationOnAbstractType(attr.getReverseAttribute(), model); /// *{ <one-to-one name="<%=getName(attr)%>" class="<%=getType(attr)%>"<%=(TopiaGeneratorUtil.notEmpty(attr.getTagValue(GeneratorUtil.TAG_LENGTH))?(" length=\"" + attr.getTagValue(GeneratorUtil.TAG_LENGTH) + "\""):"")%><%=((attr.isComposite() || attr.hasAssociationClass())?" cascade=\"delete\"":"")%><%=((accessField)?" access=\"field\"":"")%> node="<%=getName(attr)%>/@topiaId" embed-xml="false"/> //} */ + + // for hibernate many-to-one with unique="true" => one-to-one + // but if it is one-to-zero-or-one unique contraints is violated + // with null values + boolean unique = TopiaGeneratorUtil.isOneMultiplicity(attr); + generateHibernateManyToOne(output, attr, unique, prefix); + } protected void generateHibernateOneToMany(Writer output, ObjectModelAttribute attr, String prefix) throws IOException {