diff options
Diffstat (limited to 'container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/SqlSessionGenerator.java')
-rw-r--r-- | container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/SqlSessionGenerator.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/SqlSessionGenerator.java b/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/SqlSessionGenerator.java index ddb4d99..8e32cfe 100644 --- a/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/SqlSessionGenerator.java +++ b/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/SqlSessionGenerator.java @@ -33,6 +33,10 @@ public class SqlSessionGenerator { Map<EntityMirror, FieldRef> daoFields = new HashMap<>(); for (EntityMirror entity : unit.getEntities().values()) { + if (!entity.concrete) { + continue; + } + FieldRef f = g.addPublicFinalField(entity.daoType, toFieldName(entity.type.className)); daoFields.put(entity, f); } @@ -50,6 +54,10 @@ public class SqlSessionGenerator { body.add("super(" + c.name + ");"); for (EntityMirror entity : unit.getEntities().values()) { + if (!entity.concrete) { + continue; + } + FieldRef f = daoFields.get(entity); body.add("this." + f.name + " = new " + entity.daoType.plainName + "(this);"); } @@ -63,6 +71,9 @@ public class SqlSessionGenerator { p.addParameter(new TypeRef(Class.class).args("T"), "klass"); List<String> body = new ArrayList<>(); for (EntityMirror entity : unit.getEntities().values()) { + if(!entity.concrete) { + continue; + } String sqlDao = "SqlDao<Id, T, " + unit.sessionType.className + ", " + entity.rowType.className + ">"; body.add("if (klass == " + entity.type.plainName + ".class) {"); body.add(" return (" + sqlDao + ") " + daoFields.get(entity).name + ";"); |