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