From 238ee120f2220e3359722416df07853baf926a96 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 11 Aug 2013 10:52:01 +0200 Subject: o Making insertInto actually insert references. --- .../java/io/trygvis/persistence/generators/DaoUtilsGenerator.java | 6 +++--- .../main/java/io/trygvis/container/myapp/AddressBookDirect.java | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java b/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java index 51b3879..e4f69b5 100644 --- a/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java +++ b/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/DaoUtilsGenerator.java @@ -87,9 +87,9 @@ public class DaoUtilsGenerator { EntityMirror referenced = unit.get(field.type); FieldMirror idField = referenced.getIdField(); typeHandler = generatorConfiguration.typeHandler(idField.type); - accessor = field.referenceAccessor(o, idField); - setter = " stmt." + typeHandler.setter(i, accessor) + ";"; - accessor = "null"; + accessor = o.name + "." + field.javaName; + String idAccessor = field.referenceAccessor(o, idField); + setter = " stmt." + typeHandler.setter(i, idAccessor) + ";"; } if (field.notNull) { diff --git a/myapp/src/main/java/io/trygvis/container/myapp/AddressBookDirect.java b/myapp/src/main/java/io/trygvis/container/myapp/AddressBookDirect.java index b272649..7cb6b54 100644 --- a/myapp/src/main/java/io/trygvis/container/myapp/AddressBookDirect.java +++ b/myapp/src/main/java/io/trygvis/container/myapp/AddressBookDirect.java @@ -208,7 +208,6 @@ public class AddressBookDirect { } } - Company company = null; Contact o = new Contact(name, g); o.company = session.company.selectById(1l); session.contact.insert(o); @@ -225,6 +224,13 @@ public class AddressBookDirect { System.out.println("Id: " + contact.getId()); System.out.println("Name: " + contact.name); System.out.println("Gender: " + contact.gender); + if (contact.company != null) { + System.out.println("Company:"); + System.out.println(" id: " + contact.company.getId()); + System.out.println(" name: " + contact.company.name); + } else { + System.out.println("Company: "); + } } System.out.println(); } -- cgit v1.2.3