summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/SqlSessionGenerator.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2013-08-11 22:35:02 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2013-08-11 22:35:02 +0200
commite78c0a1e4a4ebc71502dceccc9ae640862b7ce9e (patch)
tree38517a79011ee280d08da06ce20dba1ac7aebd62 /container-compiler-plugin/src/main/java/io/trygvis/persistence/generators/SqlSessionGenerator.java
parent41704c6a57d53b90b4e764ea4fb9c8ff81ced500 (diff)
downloadcontainer-playground-e78c0a1e4a4ebc71502dceccc9ae640862b7ce9e.tar.gz
container-playground-e78c0a1e4a4ebc71502dceccc9ae640862b7ce9e.tar.bz2
container-playground-e78c0a1e4a4ebc71502dceccc9ae640862b7ce9e.tar.xz
container-playground-e78c0a1e4a4ebc71502dceccc9ae640862b7ce9e.zip
o Overhauling inheritance, adding a decent start of support for @MappedSuperclass.
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.java11
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 + ";");