This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository topia. See https://gitlab.nuiton.org/nuiton/topia.git commit c571bc236c08546f070157c9bdf2c58831f935ae Author: Brendan Le Ny <bleny@codelutin.com> Date: Wed Aug 8 15:51:01 2018 +0200 Revert "Persisting orphan should not be possible if model says so" This reverts commit 73b78f3179d2c1b3de5f69b2a287ef166a41e102. --- .../persistence/EntityVisitorExportXmlTest.java | 8 ++---- .../mapping/test1/SimpleOneToManyRelationTest.java | 20 ++++++-------- .../SimpleOneToManyRelationWithRoleNamedTest.java | 16 +++++------ .../mapping/test11/SimpleOneToManyUniqueTest.java | 7 ++--- .../SimpleOneToManyWithRoleNamedUniqueTest.java | 4 +-- .../it/mapping/test5/OneToManyCompositionTest.java | 2 +- .../mapping/test6/SimpleOneToManyIndexedTest.java | 13 +++------ .../SimpleOneToManyWithRoleNamedIndexedTest.java | 32 ++++++++-------------- .../mapping/test7/SimpleOneToManyOrderByTest.java | 17 ++++-------- .../mapping/test7/SimpleOneToManyOrderedTest.java | 13 +++------ .../templates/EntityHibernateMappingGenerator.java | 8 ++---- 11 files changed, 47 insertions(+), 93 deletions(-) diff --git a/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/EntityVisitorExportXmlTest.java b/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/EntityVisitorExportXmlTest.java index aa90141f..a3f7d2de 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/EntityVisitorExportXmlTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/EntityVisitorExportXmlTest.java @@ -74,19 +74,15 @@ public class EntityVisitorExportXmlTest { // employe EmployeTopiaDao employeDAO = newContext.getEmployeDao(); - Employe empl1 = employeDAO.newInstance(Employe.PROPERTY_NAME, "boss", Employe.PROPERTY_SALARY, 30000); - clCompany.addEmploye(empl1); - employeDAO.create(empl1); + Employe empl1 = employeDAO.create(Employe.PROPERTY_NAME, "boss", Employe.PROPERTY_SALARY, 30000); AddressTopiaDao adressDAO = newContext.getAddressDao(); Address addr1 = adressDAO.create(Address.PROPERTY_CITY, "Nantes", Address.PROPERTY_ADRESS, "12 Avenue Jules Vernes"); empl1.setAddress(addr1); - Employe empl2 = employeDAO.newInstance(Employe.PROPERTY_NAME, "boss2", Employe.PROPERTY_SALARY, 29000); - clCompany.addEmploye(empl2); + Employe empl2 = employeDAO.create(Employe.PROPERTY_NAME, "boss2", Employe.PROPERTY_SALARY, 29000); Address addr2 = adressDAO.create(Address.PROPERTY_CITY, "Nantes", Address.PROPERTY_ADRESS, "12 Avenue Jules Vernes"); empl2.setAddress(addr2); - employeDAO.create(empl2); // departement DepartmentTopiaDao departmentDAO = newContext.getDepartmentDao(); diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test1/SimpleOneToManyRelationTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test1/SimpleOneToManyRelationTest.java index a778e6f2..1d660940 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test1/SimpleOneToManyRelationTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test1/SimpleOneToManyRelationTest.java @@ -64,14 +64,11 @@ public class SimpleOneToManyRelationTest extends AbstractMappingTest { Assert.assertEquals(0, nbA); Assert.assertEquals(0, nbB); - A1 a = aDAO.newInstance(); - B1 b = bDAO.newInstance(); + A1 a = aDAO.create(); + B1 b = bDAO.create(); a.addB1(b); - aDAO.create(a); - bDAO.create(b); - tx.commit(); nbA = aDAO.count(); @@ -90,7 +87,6 @@ public class SimpleOneToManyRelationTest extends AbstractMappingTest { Assert.assertEquals(b, bBis); Assert.assertEquals(aBis.getB1().iterator().next(), bBis); } - @Test public void delete() throws TopiaException { @@ -102,19 +98,19 @@ public class SimpleOneToManyRelationTest extends AbstractMappingTest { Assert.assertEquals(1, nbA); Assert.assertEquals(1, nbB); - B1 b = bDAO.findAll().get(0); - bDAO.delete(b); + A1 a = aDAO.findAll().get(0); + aDAO.delete(a); tx.commit(); nbA = aDAO.count(); nbB = bDAO.count(); - Assert.assertEquals(1, nbA); - Assert.assertEquals(0, nbB); + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); - A1 a = aDAO.findAll().get(0); - aDAO.delete(a); + B1 b = bDAO.findAll().get(0); + bDAO.delete(b); tx.commit(); diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java index bbeea9d5..fa23389d 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java @@ -65,12 +65,10 @@ public class SimpleOneToManyRelationWithRoleNamedTest extends AbstractMappingTes Assert.assertEquals(0, nbB); A11 a = aDAO.create(); - B11 b = bDAO.newInstance(); + B11 b = bDAO.create(); a.addRoleB11(b); - bDAO.create(b); - tx.commit(); nbA = aDAO.count(); @@ -101,19 +99,19 @@ public class SimpleOneToManyRelationWithRoleNamedTest extends AbstractMappingTes Assert.assertEquals(1, nbA); Assert.assertEquals(1, nbB); - B11 b = bDAO.findAll().get(0); - bDAO.delete(b); + A11 a = aDAO.findAll().get(0); + aDAO.delete(a); tx.commit(); nbA = aDAO.count(); nbB = bDAO.count(); - Assert.assertEquals(1, nbA); - Assert.assertEquals(0, nbB); + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); - A11 a = aDAO.findAll().get(0); - aDAO.delete(a); + B11 b = bDAO.findAll().get(0); + bDAO.delete(b); tx.commit(); diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test11/SimpleOneToManyUniqueTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test11/SimpleOneToManyUniqueTest.java index 2289707d..895ae659 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test11/SimpleOneToManyUniqueTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test11/SimpleOneToManyUniqueTest.java @@ -67,15 +67,12 @@ public class SimpleOneToManyUniqueTest extends AbstractMappingTest { Assert.assertEquals(0, nbA); Assert.assertEquals(0, nbB); - A11A a = aDAO.newInstance(); - B11A b = bDAO.newInstance(); + A11A a = aDAO.create(); + B11A b = bDAO.create(); a.addB11A(b); a.addB11A(b); - aDAO.create(a); - bDAO.create(b); - tx.commit(); nbA = aDAO.count(); diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test11/SimpleOneToManyWithRoleNamedUniqueTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test11/SimpleOneToManyWithRoleNamedUniqueTest.java index 68fbffa0..0645271c 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test11/SimpleOneToManyWithRoleNamedUniqueTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test11/SimpleOneToManyWithRoleNamedUniqueTest.java @@ -69,13 +69,11 @@ public class SimpleOneToManyWithRoleNamedUniqueTest extends AbstractMappingTest Assert.assertEquals(0, nbB); A11B a = aDAO.create(); - B11B b = bDAO.newInstance(); + B11B b = bDAO.create(); a.addRoleB111(b); a.addRoleB111(b); - bDAO.create(b); - tx.commit(); nbA = aDAO.count(); diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test5/OneToManyCompositionTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test5/OneToManyCompositionTest.java index e96c86da..27c3beb0 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test5/OneToManyCompositionTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test5/OneToManyCompositionTest.java @@ -65,7 +65,7 @@ public class OneToManyCompositionTest extends AbstractMappingTest { Assert.assertEquals(0, nbB); A5 a = aDAO.create(); - B5 b = bDAO.newInstance(); + B5 b = bDAO.create(); a.addB5(b); diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test6/SimpleOneToManyIndexedTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test6/SimpleOneToManyIndexedTest.java index 4c424ed6..fae03107 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test6/SimpleOneToManyIndexedTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test6/SimpleOneToManyIndexedTest.java @@ -68,17 +68,12 @@ public class SimpleOneToManyIndexedTest extends AbstractMappingTest { Assert.assertEquals(0, nbB); A6 a = aDAO.create(); - B6 b = bDAO.newInstance(); - B6 b2 = bDAO.newInstance(); - B6 b3 = bDAO.newInstance(); + B6 b = bDAO.create(); + B6 b2 = bDAO.create(); + B6 b3 = bDAO.create(); a.addB6(b); a.addB6(b2); - a.addB6(b3); - - bDAO.create(b); - bDAO.create(b2); - bDAO.create(b3); tx.commit(); @@ -90,7 +85,7 @@ public class SimpleOneToManyIndexedTest extends AbstractMappingTest { A6 aBis = aDAO.forTopiaIdEquals(a.getTopiaId()).findUnique(); Assert.assertEquals(a, aBis); - Assert.assertEquals(3, aBis.sizeB6()); + Assert.assertEquals(2, aBis.sizeB6()); List<B6> bs = aBis.getB6(); Assert.assertEquals(b, bs.get(0)); Assert.assertEquals(b2, bs.get(1)); diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test6/SimpleOneToManyWithRoleNamedIndexedTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test6/SimpleOneToManyWithRoleNamedIndexedTest.java index 4b67b9b7..f732a85d 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test6/SimpleOneToManyWithRoleNamedIndexedTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test6/SimpleOneToManyWithRoleNamedIndexedTest.java @@ -68,17 +68,12 @@ public class SimpleOneToManyWithRoleNamedIndexedTest extends AbstractMappingTest Assert.assertEquals(0, nbB); A61 a = aDAO.create(); - B61 b = bDAO.newInstance(); - B61 b2 = bDAO.newInstance(); - B61 b3 = bDAO.newInstance(); + B61 b = bDAO.create(); + B61 b2 = bDAO.create(); + B61 b3 = bDAO.create(); a.addRoleB61(b); a.addRoleB61(b2); - a.addRoleB61(b3); - - bDAO.create(b); - bDAO.create(b2); - bDAO.create(b3); tx.commit(); @@ -90,17 +85,15 @@ public class SimpleOneToManyWithRoleNamedIndexedTest extends AbstractMappingTest A61 aBis = aDAO.forTopiaIdEquals(a.getTopiaId()).findUnique(); Assert.assertEquals(a, aBis); - Assert.assertEquals(3, aBis.sizeRoleB61()); + Assert.assertEquals(2, aBis.sizeRoleB61()); List<B61> bs = aBis.getRoleB61(); Assert.assertEquals(b, bs.get(0)); Assert.assertEquals(b2, bs.get(1)); - Assert.assertEquals(b3, bs.get(2)); // change order List<B61> bsBis; bsBis = Lists.newArrayList(); - bsBis.add(b3); bsBis.add(b2); bsBis.add(b); a.setRoleB61(bsBis); @@ -108,16 +101,14 @@ public class SimpleOneToManyWithRoleNamedIndexedTest extends AbstractMappingTest aBis = aDAO.forTopiaIdEquals(a.getTopiaId()).findUnique(); Assert.assertEquals(a, aBis); - Assert.assertEquals(3, aBis.sizeRoleB61()); + Assert.assertEquals(2, aBis.sizeRoleB61()); bs = aBis.getRoleB61(); - Assert.assertEquals(b3, bs.get(0)); - Assert.assertEquals(b2, bs.get(1)); - Assert.assertEquals(b, bs.get(2)); + Assert.assertEquals(b2, bs.get(0)); + Assert.assertEquals(b, bs.get(1)); // rechange order bsBis = Lists.newArrayList(); - bsBis.add(b2); bsBis.add(b3); bsBis.add(b2); bsBis.add(b); @@ -126,12 +117,11 @@ public class SimpleOneToManyWithRoleNamedIndexedTest extends AbstractMappingTest aBis = aDAO.forTopiaIdEquals(a.getTopiaId()).findUnique(); Assert.assertEquals(a, aBis); - Assert.assertEquals(4, aBis.sizeRoleB61()); + Assert.assertEquals(3, aBis.sizeRoleB61()); bs = aBis.getRoleB61(); - Assert.assertEquals(b2, bs.get(0)); - Assert.assertEquals(b3, bs.get(1)); - Assert.assertEquals(b2, bs.get(2)); - Assert.assertEquals(b, bs.get(3)); + Assert.assertEquals(b3, bs.get(0)); + Assert.assertEquals(b2, bs.get(1)); + Assert.assertEquals(b, bs.get(2)); } } \ No newline at end of file diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test7/SimpleOneToManyOrderByTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test7/SimpleOneToManyOrderByTest.java index 451eee15..a46254a5 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test7/SimpleOneToManyOrderByTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test7/SimpleOneToManyOrderByTest.java @@ -70,17 +70,12 @@ public class SimpleOneToManyOrderByTest extends AbstractMappingTest { Assert.assertEquals(0, nbB); A71 a = aDAO.create(); - B71 b = bDAO.newInstance(B71.PROPERTY_NAME, "A"); - B71 b2 = bDAO.newInstance(B71.PROPERTY_NAME, "B"); - B71 b3 = bDAO.newInstance(B71.PROPERTY_NAME, "C"); + B71 b = bDAO.create(B71.PROPERTY_NAME, "A"); + B71 b2 = bDAO.create(B71.PROPERTY_NAME, "B"); + B71 b3 = bDAO.create(B71.PROPERTY_NAME, "C"); a.addB71(b); a.addB71(b2); - a.addB71(b3); - - bDAO.create(b); - bDAO.create(b2); - bDAO.create(b3); tx.commit(); @@ -92,7 +87,7 @@ public class SimpleOneToManyOrderByTest extends AbstractMappingTest { A71 aBis = aDAO.forTopiaIdEquals(a.getTopiaId()).findUnique(); Assert.assertEquals(a, aBis); - Assert.assertEquals(3, aBis.sizeB71()); + Assert.assertEquals(2, aBis.sizeB71()); Collection<B71> bs = aBis.getB71(); Iterator<B71> iterator = bs.iterator(); Assert.assertEquals(b, iterator.next()); @@ -103,7 +98,6 @@ public class SimpleOneToManyOrderByTest extends AbstractMappingTest { bsBis = Lists.newArrayList(); bsBis.add(b2); - bsBis.add(b3); bsBis.add(b); aBis.setB71(bsBis); tx.commit(); @@ -112,12 +106,11 @@ public class SimpleOneToManyOrderByTest extends AbstractMappingTest { aBis = aDAO.forTopiaIdEquals(a.getTopiaId()).findUnique(); Assert.assertEquals(a, aBis); - Assert.assertEquals(3, aBis.sizeB71()); + Assert.assertEquals(2, aBis.sizeB71()); bs = aBis.getB71(); iterator = bs.iterator(); Assert.assertEquals(b, iterator.next()); Assert.assertEquals(b2, iterator.next()); - Assert.assertEquals(b3, iterator.next()); // rechange order diff --git a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test7/SimpleOneToManyOrderedTest.java b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test7/SimpleOneToManyOrderedTest.java index c5c9295d..cc11f4c1 100644 --- a/topia-it/src/test/java/org/nuiton/topia/it/mapping/test7/SimpleOneToManyOrderedTest.java +++ b/topia-it/src/test/java/org/nuiton/topia/it/mapping/test7/SimpleOneToManyOrderedTest.java @@ -68,17 +68,12 @@ public class SimpleOneToManyOrderedTest extends AbstractMappingTest { Assert.assertEquals(0, nbB); A7 a = aDAO.create(); - B7 b = bDAO.newInstance(); - B7 b2 = bDAO.newInstance(); - B7 b3 = bDAO.newInstance(); + B7 b = bDAO.create(); + B7 b2 = bDAO.create(); + B7 b3 = bDAO.create(); a.addB7(b); a.addB7(b2); - a.addB7(b3); - - bDAO.create(b); - bDAO.create(b2); - bDAO.create(b3); tx.commit(); @@ -90,7 +85,7 @@ public class SimpleOneToManyOrderedTest extends AbstractMappingTest { A7 aBis = aDAO.forTopiaIdEquals(a.getTopiaId()).findUnique(); Assert.assertEquals(a, aBis); - Assert.assertEquals(3, aBis.sizeB7()); + Assert.assertEquals(2, aBis.sizeB7()); List<B7> bs = aBis.getB7(); Assert.assertEquals(b, bs.get(0)); Assert.assertEquals(b2, bs.get(1)); diff --git a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityHibernateMappingGenerator.java b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityHibernateMappingGenerator.java index bede6f29..7a447551 100644 --- a/topia-templates/src/main/java/org/nuiton/topia/templates/EntityHibernateMappingGenerator.java +++ b/topia-templates/src/main/java/org/nuiton/topia/templates/EntityHibernateMappingGenerator.java @@ -739,20 +739,16 @@ public class EntityHibernateMappingGenerator extends ObjectModelGenerator { String columnName = templateHelper.getDbName(attr); foreignKeyAttribute = " " + generateFromTagValue(HIBERNATE_ATTRIBUTE_FOREIGN_KEY, classContext.getForeignKeyName(columnName)).trim(); } - String notNullAttribute = ""; - if (attr.getReverseAttribute().getMinMultiplicity() > 0) { - notNullAttribute = " " + HIBERNATE_ATTRIBUTE_NOT_NULL + "=\"true\" "; - } if (needsIndex) { /*{<%=prefix%> <<%=collType%> name="<%=attrName%>" <%=inverse%><%=lazy%><%=cascade%>> -<%=prefix%> <key column="<%=reverseAttrDBName%>"<%=foreignKeyAttribute%><%=notNullAttribute%>/> +<%=prefix%> <key column="<%=reverseAttrDBName%>"<%=foreignKeyAttribute%>/> <%=prefix%> <list-index column="<%=reverseAttrDBName%>_idx"/> <%=prefix%> <one-to-many class="<%=attrType%>"/> <%=prefix%> </<%=collType%>> }*/ }else { /*{<%=prefix%> <<%=collType%> name="<%=attrName%>" <%=inverse%><%=orderBy%><%=fetch%><%=lazy%><%=cascade%>> -<%=prefix%> <key column="<%=reverseAttrDBName%>"<%=foreignKeyAttribute%><%=notNullAttribute%>/> +<%=prefix%> <key column="<%=reverseAttrDBName%>"<%=foreignKeyAttribute%>/> <%=prefix%> <one-to-many class="<%=attrType%>"/> <%=prefix%> </<%=collType%>> }*/ -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.