From 57ccc859247c8314b1498acc216ada5b2c88b0d5 Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Tue, 6 Jan 2015 20:55:26 +0100
Subject: [PATCH] Post load hooks / caching in JPA

---
 Sda2/Ref/Fig/jpacache.svg | 135 ++++++++++++++++++--------------------
 1 file changed, 63 insertions(+), 72 deletions(-)

diff --git a/Sda2/Ref/Fig/jpacache.svg b/Sda2/Ref/Fig/jpacache.svg
index 8794e8f18..4104f9520 100644
--- a/Sda2/Ref/Fig/jpacache.svg
+++ b/Sda2/Ref/Fig/jpacache.svg
@@ -25,8 +25,8 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="1.3667619"
-     inkscape:cx="373.91519"
-     inkscape:cy="282.9511"
+     inkscape:cx="523.92553"
+     inkscape:cy="400.01611"
      inkscape:document-units="px"
      inkscape:current-layer="g3280"
      showgrid="true"
@@ -1848,170 +1848,161 @@
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
-       x="540"
+       x="730"
        y="184.09448"
        id="text3386"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3388"
-         x="540"
+         x="730"
          y="184.09448">1.</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
-       x="540"
-       y="264.09448"
-       id="text3390"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan3392"
-         x="540"
-         y="264.09448">2.</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
-       x="540"
-       y="344.09448"
+       x="730"
+       y="254.09448"
        id="text3394"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3396"
-         x="540"
-         y="344.09448">3.</tspan></text>
+         x="730"
+         y="254.09448">2.</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       x="550"
-       y="54.094482"
+       x="490"
+       y="64.094482"
        id="text3398"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3400"
-         x="550"
-         y="54.094482">p = manager.find(Person.class, new Long(2))</tspan></text>
+         x="490"
+         y="64.094482">p = manager.find(Person.class,</tspan><tspan
+         sodipodi:role="line"
+         x="490"
+         y="94.094482"
+         id="tspan4866">                     new Long(2))</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       x="580"
+       x="770"
        y="184.09448"
        id="text3402"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3404"
-         x="580"
+         x="770"
          y="184.09448">new Person()</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
-       x="580"
-       y="264.09448"
-       id="text3406"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan3408"
-         x="580"
-         y="264.09448">Pre-load hooks</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
-       x="580"
-       y="344.09448"
+       x="770"
+       y="254.09448"
        id="text3410"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3412"
-         x="580"
-         y="344.09448">Fill in Values</tspan></text>
+         x="770"
+         y="254.09448">Fill in Values</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       x="640"
-       y="404.09448"
+       x="830"
+       y="324.09448"
        id="text3414"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3416"
-         x="640"
-         y="404.09448">2</tspan></text>
+         x="830"
+         y="324.09448">2</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       x="644.38995"
-       y="439.94565"
+       x="830"
+       y="354.09448"
        id="text3418"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3420"
-         x="644.38995"
-         y="439.94565">Joey</tspan></text>
+         x="830"
+         y="354.09448">Joey</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       x="645.12164"
-       y="475.79684"
+       x="830"
+       y="384.09448"
        id="text3422"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3424"
-         x="645.12164"
-         y="475.79684">D</tspan></text>
+         x="830"
+         y="384.09448">D</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       x="649.51154"
-       y="513.11133"
+       x="830"
+       y="414.09448"
        id="text3426"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3428"
-         x="649.51154"
-         y="513.11133">Brinn</tspan></text>
+         x="830"
+         y="414.09448">Brinn</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       x="648.77991"
-       y="540.91418"
+       x="830"
+       y="434.09448"
        id="text3430"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3432"
-         x="648.77991"
-         y="540.91418">...</tspan></text>
+         x="830"
+         y="434.09448">...</tspan></text>
     <rect
        style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="rect3434"
        width="140"
        height="180"
-       x="626.63092"
-       y="371.88071" />
+       x="816.63092"
+       y="291.88071" />
     <path
-       style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow1Mend-6-8);marker-start:url(#DotM)"
-       d="m 480,574.09448 40,-10 30,-60 70,-20"
+       style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotM);marker-end:url(#Arrow1Mend-6-8);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 480,574.09448 50,0 80,-180 190,0"
        id="path3438"
        inkscape:connector-curvature="0"
        sodipodi:nodetypes="cccc" />
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans"
-       x="540"
-       y="624.09448"
+       x="730"
+       y="534.09448"
        id="text3394-1"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3396-4"
-         x="540"
-         y="624.09448">4.</tspan></text>
+         x="730"
+         y="534.09448">3.</tspan></text>
     <text
        xml:space="preserve"
        style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans"
-       x="580"
-       y="624.09448"
+       x="770"
+       y="534.09448"
        id="text3410-5"
        sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
          id="tspan3412-6"
-         x="580"
-         y="624.09448">Post-load hooks</tspan></text>
+         x="770"
+         y="534.09448">Post-load hooks</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
+       x="701.65845"
+       y="557.52209"
+       id="text4862"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4864"></tspan></text>
   </g>
   <g
      inkscape:groupmode="layer"
-- 
GitLab