Modified: websites/staging/openjpa/trunk/content/embeddable-samples.html
==============================================================================
--- websites/staging/openjpa/trunk/content/embeddable-samples.html (original)
+++ websites/staging/openjpa/trunk/content/embeddable-samples.html Wed Sep 30
17:03:02 2015
@@ -145,9 +145,20 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="Embeddable-samples"></a></p>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="Embeddable-samples"></a></p>
<p><a name="Embeddablesamples-Embeddableclasses"></a></p>
-<h2 id="embeddable-classes">Embeddable classes</h2>
+<h2 id="embeddable-classes">Embeddable classes<a class="headerlink"
href="#embeddable-classes" title="Permanent link">¶</a></h2>
<p>An entity may use other fine-grained classes to represent entity state.
Instances of these classes, unlike entity instances, do not have persistent
identity of their own. Instead, they exist only as part of the state of the
@@ -159,7 +170,7 @@ embeddable resides in the same database
<p>Review the <a href="getting-started.html">getting started</a>
page on how to run the samples.</p>
<p><a name="Embeddablesamples-Samples"></a></p>
-<h2 id="samples">Samples</h2>
+<h2 id="samples">Samples<a class="headerlink" href="#samples" title="Permanent
link">¶</a></h2>
<p><table>
<tr><th>Schema</th></tr>
<tr><td><img src="images/embeddables.jpeg"/></td>
@@ -177,24 +188,24 @@ embeddable resides in the same database
<li><a href="#nested-embeddables.html">Nested Embeddables</a></li>
</ul>
<p><a name="Embeddablesamples-CollectionsofEmbeddables"></a></p>
-<h2 id="collections-of-embeddables">Collections of Embeddables</h2>
+<h2 id="collections-of-embeddables">Collections of Embeddables<a
class="headerlink" href="#collections-of-embeddables" title="Permanent
link">¶</a></h2>
<p>In the code snippet below, there is a User Entity which has a collection of
Embedded addresses.</p>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style:
solid;"><B>Address.java|borderStyle=solid</B></DIV><DIV class="codeContent
panelContent"></p>
-<div class="codehilite"><pre><span class="nv">@Embeddable</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">Embeddable</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">Address</span> <span class="p">{</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">street</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">city</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">state</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">Integer</span> <span
class="n">zip</span><span class="p">;</span>
<span class="n">public</span> <span class="n">Address</span><span
class="p">(){</span>
<span class="p">}</span>
-<span class="sr">//</span><span class="o">...</span>
+<span class="o">//</span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
@@ -206,159 +217,159 @@ Embedded addresses.</p>
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;</p>
-<div class="codehilite"><pre> <span class="nv">@ElementCollection</span>
- <span class="nv">@CollectionTable</span><span class="p">(</span><span
class="n">name</span><span class="o">=</span><span
class="s">"user_address"</span><span class="p">)</span>
- <span class="n">private</span> <span class="n">Set</span><span
class="sr"><Address></span> <span class="n">addresses</span> <span
class="o">=</span> <span class="k">new</span> <span
class="n">HashSet</span><span class="sr"><Address></span><span
class="p">();</span>
+<div class="codehilite"><pre> <span class="p">@</span><span
class="n">ElementCollection</span>
+ <span class="p">@</span><span class="n">CollectionTable</span><span
class="p">(</span><span class="n">name</span><span
class="p">=</span>"<span class="n">user_address</span>"<span
class="p">)</span>
+ <span class="n">private</span> <span class="n">Set</span><span
class="o"><</span><span class="n">Address</span><span class="o">></span>
<span class="n">addresses</span> <span class="p">=</span> <span
class="n">new</span> <span class="n">HashSet</span><span
class="o"><</span><span class="n">Address</span><span
class="o">></span><span class="p">();</span>
<span class="n">public</span> <span class="n">User</span><span
class="p">(){</span>
<span class="p">}</span>
-<span class="sr">//</span><span class="o">...</span>
+<span class="o">//</span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
<p><br/></p>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style: solid;"><B>JPQL.java|borderStyle=solid</B></DIV><DIV
class="codeContent panelContent"></p>
-<div class="codehilite"><pre><span class="o">...</span>
-<span class="sr">//</span> <span class="n">Select</span> <span
class="n">Entity</span> <span class="n">based</span> <span class="n">off</span>
<span class="n">a</span> <span class="n">query</span> <span
class="n">over</span> <span class="n">a</span> <span
class="n">collection</span> <span class="n">of</span> <span
class="n">embeddables</span>
-<span class="n">Query</span> <span class="sx">q = </span><span
class="n">em</span><span class="o">.</span><span
class="n">createQuery</span><span class="p">(</span><span
class="s">"SELECT u FROM User u , in (u.addresses) a WHERE
a.state='xx'"</span><span class="p">);</span>
-<span class="sr">//</span> <span class="n">TODO</span> <span
class="o">--</span> <span class="n">add</span> <span class="n">more</span><span
class="o">!</span>
-<span class="o">...</span>
+<div class="codehilite"><pre><span class="p">...</span>
+<span class="o">//</span> <span class="n">Select</span> <span
class="n">Entity</span> <span class="n">based</span> <span class="n">off</span>
<span class="n">a</span> <span class="n">query</span> <span
class="n">over</span> <span class="n">a</span> <span
class="n">collection</span> <span class="n">of</span> <span
class="n">embeddables</span>
+<span class="n">Query</span> <span class="n">q</span> <span class="p">=</span>
<span class="n">em</span><span class="p">.</span><span
class="n">createQuery</span><span class="p">(</span>"<span
class="n">SELECT</span> <span class="n">u</span> <span class="n">FROM</span>
<span class="n">User</span> <span class="n">u</span> <span class="p">,</span>
<span class="n">in</span> <span class="p">(</span><span class="n">u</span><span
class="p">.</span><span class="n">addresses</span><span class="p">)</span>
<span class="n">a</span> <span class="n">WHERE</span> <span
class="n">a</span><span class="p">.</span><span class="n">state</span><span
class="p">=</span><span class="s">'xx'</span>"<span
class="p">);</span>
+<span class="o">//</span> <span class="n">TODO</span> <span
class="o">--</span> <span class="n">add</span> <span class="n">more</span>!
+<span class="p">...</span>
</pre></div>
<p><a name="Embeddablesamples-RelationshipsfromEmbeddables"></a></p>
-<h2 id="relationships-from-embeddables">Relationships from Embeddables</h2>
+<h2 id="relationships-from-embeddables">Relationships from Embeddables<a
class="headerlink" href="#relationships-from-embeddables" title="Permanent
link">¶</a></h2>
<p>In the code snippet below, there is an Address embeddable with a ManyToOne
relationship to a Coordinates Entity.</p>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style:
solid;"><B>Address.java|borderStyle=solid</B></DIV><DIV class="codeContent
panelContent"></p>
-<div class="codehilite"><pre><span class="nv">@Embeddable</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">Embeddable</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">Address</span> <span class="p">{</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">street</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">city</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">state</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">Integer</span> <span
class="n">zip</span><span class="p">;</span>
- <span class="nv">@ManyToOne</span><span class="p">(</span><span
class="n">cascade</span><span class="o">=</span><span
class="n">CascadeType</span><span class="o">.</span><span
class="n">ALL</span><span class="p">)</span>
+ <span class="p">@</span><span class="n">ManyToOne</span><span
class="p">(</span><span class="n">cascade</span><span class="p">=</span><span
class="n">CascadeType</span><span class="p">.</span><span
class="n">ALL</span><span class="p">)</span>
<span class="n">Coordinates</span> <span class="n">coordinates</span><span
class="p">;</span>
<span class="n">public</span> <span class="n">Address</span><span
class="p">(){</span>
<span class="p">}</span>
-<span class="sr">//</span><span class="o">...</span>
+<span class="o">//</span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style: solid;"><B>Coordinates
.java|borderStyle=solid</B></DIV><DIV class="codeContent panelContent"></p>
-<div class="codehilite"><pre><span class="nv">@Entity</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">Entity</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">Coordinates</span> <span class="p">{</span>
- <span class="nv">@Id</span>
- <span class="nv">@GeneratedValue</span><span class="p">(</span><span
class="n">strategy</span><span class="o">=</span><span
class="n">GenerationType</span><span class="o">.</span><span
class="n">IDENTITY</span><span class="p">)</span>
- <span class="nb">int</span> <span class="n">id</span><span
class="p">;</span>
+ <span class="p">@</span><span class="n">Id</span>
+ <span class="p">@</span><span class="n">GeneratedValue</span><span
class="p">(</span><span class="n">strategy</span><span class="p">=</span><span
class="n">GenerationType</span><span class="p">.</span><span
class="n">IDENTITY</span><span class="p">)</span>
+ <span class="n">int</span> <span class="n">id</span><span
class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">double</span> <span class="n">longitude</span><span
class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">double</span> <span class="n">latitude</span><span
class="p">;</span>
<span class="n">public</span> <span class="n">Coordinates</span><span
class="p">(){</span>
<span class="p">}</span>
<span class="n">public</span> <span class="n">Coordinates</span><span
class="p">(</span><span class="n">double</span> <span class="n">lon</span><span
class="p">,</span> <span class="n">double</span> <span
class="n">lat</span><span class="p">){</span>
- <span class="n">longitude</span><span class="o">=</span><span
class="n">lon</span><span class="p">;</span>
- <span class="n">latitude</span><span class="o">=</span><span
class="n">lat</span><span class="p">;</span>
+ <span class="n">longitude</span><span class="p">=</span><span
class="n">lon</span><span class="p">;</span>
+ <span class="n">latitude</span><span class="p">=</span><span
class="n">lat</span><span class="p">;</span>
<span class="p">}</span>
-<span class="sr">//</span><span class="o">...</span>
+<span class="o">//</span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style: solid;"><B>JPQL.java|borderStyle=solid</B></DIV><DIV
class="codeContent panelContent"></p>
-<div class="codehilite"><pre><span class="o">...</span>
-<span class="sr">//</span> <span class="n">Embedded</span> <span
class="o">-></span> <span class="n">relationship</span> <span
class="n">traversal</span>
-<span class="n">Query</span> <span class="sx">q = </span><span
class="n">em</span><span class="o">.</span><span
class="n">createQuery</span><span class="p">(</span><span
class="s">"SELECT u FROM User u , in (u.addresses) a WHERE
a.coordinates.longitude=xxx"</span><span class="p">);</span>
-<span class="sr">//</span> <span class="n">TODO</span> <span
class="o">--</span> <span class="n">add</span> <span class="n">more</span><span
class="o">!</span>
-<span class="o">...</span>
+<div class="codehilite"><pre><span class="p">...</span>
+<span class="o">//</span> <span class="n">Embedded</span> <span
class="o">-></span> <span class="n">relationship</span> <span
class="n">traversal</span>
+<span class="n">Query</span> <span class="n">q</span> <span class="p">=</span>
<span class="n">em</span><span class="p">.</span><span
class="n">createQuery</span><span class="p">(</span>"<span
class="n">SELECT</span> <span class="n">u</span> <span class="n">FROM</span>
<span class="n">User</span> <span class="n">u</span> <span class="p">,</span>
<span class="n">in</span> <span class="p">(</span><span class="n">u</span><span
class="p">.</span><span class="n">addresses</span><span class="p">)</span>
<span class="n">a</span> <span class="n">WHERE</span> <span
class="n">a</span><span class="p">.</span><span
class="n">coordinates</span><span class="p">.</span><span
class="n">longitude</span><span class="p">=</span><span
class="n">xxx</span>"<span class="p">);</span>
+<span class="o">//</span> <span class="n">TODO</span> <span
class="o">--</span> <span class="n">add</span> <span class="n">more</span>!
+<span class="p">...</span>
</pre></div>
<p><a name="Embeddablesamples-NestedEmbeddables"></a></p>
-<h2 id="nested-embeddables">Nested Embeddables</h2>
+<h2 id="nested-embeddables">Nested Embeddables<a class="headerlink"
href="#nested-embeddables" title="Permanent link">¶</a></h2>
<p>In the code snippet below, there is a User Entity which has an embedded
ContactInfo. ContactInfo contains two other embeddeded embeddables, Address
and Phone.</p>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style:
solid;"><B>Address.java|borderStyle=solid</B></DIV><DIV class="codeContent
panelContent"></p>
-<div class="codehilite"><pre><span class="nv">@Embeddable</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">Embeddable</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">Address</span> <span class="p">{</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">street</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">city</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">state</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">Integer</span> <span
class="n">zip</span><span class="p">;</span>
<span class="n">public</span> <span class="n">Address</span><span
class="p">(){</span>
<span class="p">}</span>
-<span class="sr">//</span><span class="o">...</span>
+<span class="o">//</span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style: solid;"><B>Phone.java|borderStyle=solid</B></DIV><DIV
class="codeContent panelContent"></p>
-<div class="codehilite"><pre><span class="nv">@Embeddable</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">Embeddable</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">Phone</span> <span class="p">{</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">phone_number</span><span class="p">;</span>
- <span class="nv">@Basic</span>
+ <span class="p">@</span><span class="n">Basic</span>
<span class="n">private</span> <span class="n">String</span> <span
class="n">phone_type</span><span class="p">;</span>
-<span class="sr">//</span><span class="o">...</span>
+<span class="o">//</span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style:
solid;"><B>ContactInfo.java|borderStyle=solid</B></DIV><DIV class="codeContent
panelContent"></p>
-<div class="codehilite"><pre><span class="nv">@Embeddable</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">Embeddable</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">ContactInfo</span> <span class="p">{</span>
<span class="n">public</span> <span class="n">ContactInfo</span><span
class="p">(){</span>
<span class="p">}</span>
- <span class="nv">@Embedded</span>
+ <span class="p">@</span><span class="n">Embedded</span>
<span class="n">Address</span> <span class="n">homeAddress</span><span
class="p">;</span>
- <span class="nv">@Embedded</span>
+ <span class="p">@</span><span class="n">Embedded</span>
<span class="n">Phone</span> <span class="n">homePhone</span><span
class="p">;</span>
-<span class="sr">//</span><span class="o">...</span>
+<span class="o">//</span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style: solid;"><B>User.java|borderStyle=solid</B></DIV><DIV
class="codeContent panelContent"></p>
-<div class="codehilite"><pre><span class="nv">@Entity</span>
+<div class="codehilite"><pre><span class="p">@</span><span
class="n">Entity</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">User</span> <span class="p">{</span>
- <span class="nv">@Id</span>
- <span class="nv">@GeneratedValue</span><span class="p">(</span><span
class="n">strategy</span><span class="o">=</span><span
class="n">GenerationType</span><span class="o">.</span><span
class="n">IDENTITY</span><span class="p">)</span>
- <span class="n">private</span> <span class="nb">int</span> <span
class="n">id</span><span class="p">;</span>
- <span class="nv">@Embedded</span>
+ <span class="p">@</span><span class="n">Id</span>
+ <span class="p">@</span><span class="n">GeneratedValue</span><span
class="p">(</span><span class="n">strategy</span><span class="p">=</span><span
class="n">GenerationType</span><span class="p">.</span><span
class="n">IDENTITY</span><span class="p">)</span>
+ <span class="n">private</span> <span class="n">int</span> <span
class="n">id</span><span class="p">;</span>
+ <span class="p">@</span><span class="n">Embedded</span>
<span class="n">ContactInfo</span> <span class="n">contactInfo</span><span
class="p">;</span>
<span class="n">public</span> <span class="n">User</span><span
class="p">(){</span>
<span class="p">}</span>
-<span class="sr">//</span><span class="o">...</span>
+<span class="o">//</span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
<p><DIV class="code panel" style="border-style: solid;border-width: 0px;"><DIV
class="codeHeader panelHeader" style="border-bottom-width:
1px;border-bottom-style: solid;"><B>JPQL.java|borderStyle=solid</B></DIV><DIV
class="codeContent panelContent"></p>
-<div class="codehilite"><pre><span class="o">...</span>
-<span class="sr">//</span> <span class="n">Nested</span> <span
class="n">embeddables</span> <span class="n">traversal</span>
-<span class="n">Query</span> <span class="sx">q = </span><span
class="n">em</span><span class="o">.</span><span
class="n">createQuery</span><span class="p">(</span><span
class="s">"SELECT u FROM User u WHERE
u.contactInfo.homePhone.number='507-555-5555' "</span> <span
class="o">+</span>
- <span class="s">"AND
u.contactInfo.homePhone.type='cell'"</span><span
class="p">);</span>
-<span class="sr">//</span> <span class="n">TODO</span> <span
class="o">--</span> <span class="n">add</span> <span class="n">more</span><span
class="o">!</span>
-<span class="o">...</span>
+<div class="codehilite"><pre><span class="p">...</span>
+<span class="o">//</span> <span class="n">Nested</span> <span
class="n">embeddables</span> <span class="n">traversal</span>
+<span class="n">Query</span> <span class="n">q</span> <span class="p">=</span>
<span class="n">em</span><span class="p">.</span><span
class="n">createQuery</span><span class="p">(</span>"<span
class="n">SELECT</span> <span class="n">u</span> <span class="n">FROM</span>
<span class="n">User</span> <span class="n">u</span> <span
class="n">WHERE</span> <span class="n">u</span><span class="p">.</span><span
class="n">contactInfo</span><span class="p">.</span><span
class="n">homePhone</span><span class="p">.</span><span
class="n">number</span><span class="p">=</span><span
class="s">'507-555-5555'</span> " <span class="o">+</span>
+ "<span class="n">AND</span> <span class="n">u</span><span
class="p">.</span><span class="n">contactInfo</span><span
class="p">.</span><span class="n">homePhone</span><span class="p">.</span><span
class="n">type</span><span class="p">=</span><span
class="s">'cell'</span>"<span class="p">);</span>
+<span class="o">//</span> <span class="n">TODO</span> <span
class="o">--</span> <span class="n">add</span> <span class="n">more</span>!
+<span class="p">...</span>
</pre></div>
</div>
</td>
Modified: websites/staging/openjpa/trunk/content/enhancement-with-ant.html
==============================================================================
--- websites/staging/openjpa/trunk/content/enhancement-with-ant.html (original)
+++ websites/staging/openjpa/trunk/content/enhancement-with-ant.html Wed Sep 30
17:03:02 2015
@@ -145,7 +145,18 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p>The following shows how to
define a OpenJPA enhancer task and how to invoke
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>The following shows how to define a OpenJPA enhancer task and how to invoke
the task in ANT.</p>
<p>First you'll need to compile the Entites. (Note: as a prereq to running the
enhance task, I copied my persistence.xml file to my /build directory. You
@@ -163,6 +174,7 @@ task can be found.</p>
<span class="nt"></fileset></span>
<span class="nt"></path></span>
+
<span class="nt"><target</span> <span class="na">name=</span><span
class="s">"enhance"</span> <span class="na">depends=</span><span
class="s">"build"</span><span class="nt">></span>
<span class="c"><!-- This is a bit of a hack, but I needed to copy the
persistence.xml file from my src dir</span>
<span class="c"> to the build dir when we run enhancement --></span>
@@ -170,6 +182,7 @@ task can be found.</p>
<span class="nt"><fileset</span> <span class="na">dir=</span><span
class="s">"src"</span> <span class="na">excludes=</span><span
class="s">"**/*.launch, **/*.java"</span><span class="nt">/></span>
<span class="nt"></copy></span>
+
<span class="c"><!-- define the openjpac task --></span>
<span class="nt"><taskdef</span> <span class="na">name=</span><span
class="s">"openjpac"</span> <span class="na">classname=</span><span
class="s">"org.apache.openjpa.ant.PCEnhancerTask"</span><span
class="nt">></span>
<span class="nt"><classpath</span> <span
class="na">refid=</span><span
class="s">"jpa.enhancement.classpath"</span><span
class="nt">/></span>
Modified: websites/staging/openjpa/trunk/content/enhancement-with-eclipse.html
==============================================================================
--- websites/staging/openjpa/trunk/content/enhancement-with-eclipse.html
(original)
+++ websites/staging/openjpa/trunk/content/enhancement-with-eclipse.html Wed
Sep 30 17:03:02 2015
@@ -145,15 +145,26 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="EnhancementwithEclipse-EnhancingEntitieswithEclipse"></a></p>
-<h1 id="enhancing-entities-with-eclipse">Enhancing Entities with Eclipse</h1>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="EnhancementwithEclipse-EnhancingEntitieswithEclipse"></a></p>
+<h1 id="enhancing-entities-with-eclipse">Enhancing Entities with Eclipse<a
class="headerlink" href="#enhancing-entities-with-eclipse" title="Permanent
link">¶</a></h1>
<p>If you are using Eclipse to write and deploy your application, then you
have two choices for <strong>build time</strong> enhancement of your entities.
But, if
you're using orm.xml to map the Entities, then you can only use the Custom
ANT Builder method below, as the OpenJPA Plugin for Eclipse currently does
not handle that scenario.</p>
<p><a name="EnhancementwithEclipse-CustomANTBuilder"></a></p>
-<h2 id="custom-ant-builder">Custom ANT Builder</h2>
+<h2 id="custom-ant-builder">Custom ANT Builder<a class="headerlink"
href="#custom-ant-builder" title="Permanent link">¶</a></h2>
<p>For steps documented below, I have the following directory structure. Note,
these steps must be followed for each project that has Entities that need
to be enhanced.</p>
@@ -203,7 +214,7 @@ should be set to jpa_lib and build.dir s
<p><img alt="" src="images/main.png" /></p>
<p><img alt="" src="images/targets.png" /></p>
<p><a name="EnhancementwithEclipse-OpenJPAPluginforEclipse"></a></p>
-<h2 id="openjpa-plugin-for-eclipse">OpenJPA Plugin for Eclipse</h2>
+<h2 id="openjpa-plugin-for-eclipse">OpenJPA Plugin for Eclipse<a
class="headerlink" href="#openjpa-plugin-for-eclipse" title="Permanent
link">¶</a></h2>
<p>The OpenJPA Eclipse Tooling is a sub-project of the OpenJPA project. It
develops IDE tooling for OpenJPA as an Eclipse feature with plug-ins.</p>
<p><span class="note">
Modified: websites/staging/openjpa/trunk/content/enhancement-with-maven.html
==============================================================================
--- websites/staging/openjpa/trunk/content/enhancement-with-maven.html
(original)
+++ websites/staging/openjpa/trunk/content/enhancement-with-maven.html Wed Sep
30 17:03:02 2015
@@ -145,8 +145,19 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="EnhancementwithMaven-Usingtheopenjpa-maven-plugin"></a></p>
-<h2 id="using-the-openjpa-maven-plugin">Using the openjpa-maven-plugin</h2>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="EnhancementwithMaven-Usingtheopenjpa-maven-plugin"></a></p>
+<h2 id="using-the-openjpa-maven-plugin">Using the openjpa-maven-plugin<a
class="headerlink" href="#using-the-openjpa-maven-plugin" title="Permanent
link">¶</a></h2>
<p>The Maven plugin, formerly provided by the Codehaus project is now part of
OpenJPA 2.2.0. The plugins documentation can be found <a
href="http://people.apache.org/~mikedd/openjpa/openjpa-maven-plugin/">here</a>
until it finds a permanent home one the openjpa site. </p>
@@ -193,7 +204,7 @@ add the openjpa-maven-plugin to the <bui
Entity to XML Schema mapping, which are documented under the <a
href="http://mojo.codehaus.org/openjpa-maven-plugin/plugin-info.html">Goals
section</a>
on the plugin website.</p>
<p><a name="EnhancementwithMaven-Usingthemaven-antrun-plugin"></a></p>
-<h2 id="using-the-maven-antrun-plugin">Using the maven-antrun-plugin</h2>
+<h2 id="using-the-maven-antrun-plugin">Using the maven-antrun-plugin<a
class="headerlink" href="#using-the-maven-antrun-plugin" title="Permanent
link">¶</a></h2>
<p>You can use the maven-antrun-plugin to launch the OpenJPA enhancer task
using ANT. The steps are nearly identical to the ones for <a
href="enhancement-with-ant.html">Enhancing with ANT</a>
(again, you may not need to move the persistence.xml file to the build
Modified: websites/staging/openjpa/trunk/content/entity-enhancement.html
==============================================================================
--- websites/staging/openjpa/trunk/content/entity-enhancement.html (original)
+++ websites/staging/openjpa/trunk/content/entity-enhancement.html Wed Sep 30
17:03:02 2015
@@ -145,9 +145,20 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="How-to-enhance-entity-classes"></a></p>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="How-to-enhance-entity-classes"></a></p>
<p><a name="EntityEnhancement-WhatisEnhancementAnyway?"></a></p>
-<h1 id="what-is-enhancement-anyway">What is Enhancement Anyway?</h1>
+<h1 id="what-is-enhancement-anyway">What is Enhancement Anyway?<a
class="headerlink" href="#what-is-enhancement-anyway" title="Permanent
link">¶</a></h1>
<p>The JPA spec requires some type of monitoring of Entity objects, but the
spec does not define how to implement this monitoring. Some JPA providers
auto-generate new subclasses or proxy objects that front the user's Entity
objects at runtime, while others use <a
href="#EntityEnhancement-byteCode">byte-code weaving</a> technologies to
enhance the actual Entity class objects. OpenJPA supports both mechanisms, but
strongly suggests only using the byte-code weaving enhancement. The <a
href="#EntityEnhancement-SubclassingEnhancement">subclassing</a> support (as
provided by OpenJPA)
is not recommended (and is disabled by default in OpenJPA 2.0 and beyond).</p>
<p>For complete details on entity enhancement, please checkout the section in
@@ -155,10 +166,10 @@ the latest <a href="http://ci.apache.org
. The following sections will only cover the high-level concepts and the
ways to use the enhancer in different build and runtime setups.</p>
<p><a name="EntityEnhancement-byteCode"></a></p>
-<h2 id="byte-code-weaving-enhancement">Byte-code Weaving Enhancement?</h2>
+<h2 id="byte-code-weaving-enhancement">Byte-code Weaving Enhancement?<a
class="headerlink" href="#byte-code-weaving-enhancement" title="Permanent
link">¶</a></h2>
<p>Byte-code weaving is the preferred and recommended method of enhancement to
use with OpenJPA. This byte-code enhancement can be performed at <a
href="#EntityEnhancement-BuildTimeEnhancement">build-time</a> or dynamically
at <a href="#EntityEnhancement-DynamicEnhancement">run-time</a>. Whichever
approach is selected, the same enhancement processing is performed with the
same level of functionality weaved into each Entity class.</p>
<p><a name="EntityEnhancement-BuildTimeEnhancement"></a></p>
-<h3 id="build-time-enhancement">Build Time Enhancement</h3>
+<h3 id="build-time-enhancement">Build Time Enhancement<a class="headerlink"
href="#build-time-enhancement" title="Permanent link">¶</a></h3>
<p>Build time enhancement is the recommended method to use with OpenJPA, as it
it the fastest and most reliable method. Please follow the links below
based on yBuild time enhancement is probably the most common enhancement
method to use with OpenJPA, especially in an automated JUnit test environment.
The whole OpenJPA JUnit test bucket relies on build-time enhancement. Please
follow the links below based on your development environment:</p>
@@ -168,17 +179,17 @@ based on yBuild time enhancement is prob
<li><a href="enhancement-with-eclipse.html">Enhancement with Eclipse</a></li>
</ul>
<p><a name="EntityEnhancement-DynamicEnhancement"></a></p>
-<h3 id="dynamic-enhancement">Dynamic Enhancement</h3>
+<h3 id="dynamic-enhancement">Dynamic Enhancement<a class="headerlink"
href="#dynamic-enhancement" title="Permanent link">¶</a></h3>
<p>Dynamic run-time enhancement with OpenJPA comes in several different
flavors, depending on your environment. The preferred and most reliable method
of dynamic enhancement is via the defined container hook in a <a
href="#javaee">Java EE and OSGi environments</a>. In a <a href="#jse">JSE
environment</a>, there are a couple of choices for configuring or using dynamic
enhancement. The choice will depend on your usage patterns.</p>
<p><a name="javaee"></a></p>
-<h4 id="java-ee-and-osgi-environments">Java EE and OSGi environments</h4>
+<h4 id="java-ee-and-osgi-environments">Java EE and OSGi environments<a
class="headerlink" href="#java-ee-and-osgi-environments" title="Permanent
link">¶</a></h4>
<p>The Java EE specifications outline a mechanism for plugging in a JPA
transformer (byte code enhancer) into the container's classloading processing.
Most Java EE application servers (for example, IBM's WebSphere Application
Server) support this mechanism. In addition, several of the OSGi container
providers (for example, WebSphere's OSGi container) have followed a similar
path and provide this classloading hook for dynamic enhancement. If your
container environment supports this mechanism with OpenJPA, this would be the
preferred and easiest method of performing the byte-code enhancement.</p>
<p><a name="jse"> </a></p>
-<h4 id="jse-environment">JSE Environment</h4>
-<h5 id="explicit-javaagent-support">Explicit javaagent support</h5>
+<h4 id="jse-environment">JSE Environment<a class="headerlink"
href="#jse-environment" title="Permanent link">¶</a></h4>
+<h5 id="explicit-javaagent-support">Explicit javaagent support<a
class="headerlink" href="#explicit-javaagent-support" title="Permanent
link">¶</a></h5>
<p>The recommended way get runtime enhancement for the JSE environment is to
provide a javaagent when launching the JVM that OpenJPA is running in. This is
a common method to use when executing individual JUnits in a development
environment because it is very painless and easy. All that is required to get
runtime enhancement is to specify the -javaagent:openjpa-all-2.2.0-SNAPSHOT.jar
(as an example) on the JVM configuration.</p>
<p>More information can be found on the <a
href="runtime-enhancement.html">Runtime Enhancement</a> page.</p>
-<h5 id="implicit-javaagent-support">Implicit javaagent support</h5>
+<h5 id="implicit-javaagent-support">Implicit javaagent support<a
class="headerlink" href="#implicit-javaagent-support" title="Permanent
link">¶</a></h5>
<p><a href="https://issues.apache.org/jira/browse/OPENJPA-952">OPENJPA-952</a>
added the capability to have OpenJPA attempt to dynamically load the
javaagent enhancer. If you see the following message, OpenJPA loaded the
@@ -204,13 +215,13 @@ EntityManagerFactory is created prior to
<p><property name="openjpa.DynamicEnhancementAgent" value="false"/></p>
</blockquote>
<p><a name="EntityEnhancement-SubclassingEnhancement"></a></p>
-<h2 id="subclassing-enhancement">Subclassing Enhancement</h2>
+<h2 id="subclassing-enhancement">Subclassing Enhancement<a class="headerlink"
href="#subclassing-enhancement" title="Permanent link">¶</a></h2>
<p><span class="note">The use of OpenJPA's subclassing support is not
recommended, and is disabled by default in OpenJPA 2.0 and beyond.</span></p>
<p>When running in a Java SE environment or in a non-Java EE 5 compliant
container, OpenJPA can utilize runtime subclassing enhancement. The subclassing
enhancement support was added originally as a convenience to new developers to
reduce the amount of work to get a 'HelloWorld-ish' OpenJPA application working
out of the box. It was never meant to run in production. So you're probably
thinking that this sounds great! OpenJPA handles enhancement automatically for
me and I can stop reading this post. Wrong! Subclassing has two major
drawbacks. First off, it isn't nearly as fast as byte-code enhancement and the
second drawback is that there are some documented functional problems when
using the subclassing support. The moral of the story is, don't use this method
of enhancement.</p>
<p>For reference, the property that enables/disables the subclassing support
is openjpa.RuntimeUnenhancedClasses. The value "unsupported" is the recommended
and default setting for this property.</p>
<p>Additional information regarding the subclassing enhancement can be found
in the <a
href="http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#ref_guide_pc_enhance">OpenJPA
docs</a>.</p>
<p><a name="EntityEnhancement-AuthorAttribution"></a></p>
-<h2 id="author-attribution">Author Attribution</h2>
+<h2 id="author-attribution">Author Attribution<a class="headerlink"
href="#author-attribution" title="Permanent link">¶</a></h2>
<p>The content for this page and sub-pages was adapted from content created by
OpenJPA contributor Rick Curtis from the following <a
href="http://webspherepersistence.blogspot.com/">WebSphere and Java
Persistence</a>
blog entries:</p>
Modified: websites/staging/openjpa/trunk/content/faq.html
==============================================================================
--- websites/staging/openjpa/trunk/content/faq.html (original)
+++ websites/staging/openjpa/trunk/content/faq.html Wed Sep 30 17:03:02 2015
@@ -145,8 +145,19 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="FAQ-General"></a></p>
-<h2 id="general">General</h2>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="FAQ-General"></a></p>
+<h2 id="general">General<a class="headerlink" href="#general" title="Permanent
link">¶</a></h2>
<ul>
<li><a href="#what">What is OpenJPA?</a></li>
<li><a href="#history">What is the history of OpenJPA?</a></li>
@@ -162,45 +173,45 @@ limitations under the License.
<li><a href="#crosstable">Can OpenJPA map a one-sided one-many association
without a cross table?</a></li>
</ul>
<p><a name="what"></a></p>
-<h2 id="what-is-openjpa">What is OpenJPA?</h2>
+<h2 id="what-is-openjpa">What is OpenJPA?<a class="headerlink"
href="#what-is-openjpa" title="Permanent link">¶</a></h2>
<p>OpenJPA is a 100% open-source implementation of the Java Persistence API
(JPA), which is the persistence component for EJB in the <a
href="http://java.sun.com/javaee/">Java EE 5 specification</a>
.</p>
<p><a name="history"></a></p>
-<h2 id="what-is-the-history-of-openjpa">What is the history of OpenJPA?</h2>
+<h2 id="what-is-the-history-of-openjpa">What is the history of OpenJPA?<a
class="headerlink" href="#what-is-the-history-of-openjpa" title="Permanent
link">¶</a></h2>
<p>OpenJPA has its roots in the popular Kodo product, which was created by
SolarMetric, Inc. in 2001. BEA Systems, Inc.
purchased SolarMetric in November of 2005, and soon thereafter announced that
they would be donating the bulk of the code to the Apache Software Foundation.
OpenJPA is the result of that donation.</p>
<p><a name="kodo"></a></p>
-<h2 id="what-is-the-current-relationship-between-kodo-and-openjpa">What is the
current relationship between Kodo and OpenJPA?</h2>
+<h2 id="what-is-the-current-relationship-between-kodo-and-openjpa">What is the
current relationship between Kodo and OpenJPA?<a class="headerlink"
href="#what-is-the-current-relationship-between-kodo-and-openjpa"
title="Permanent link">¶</a></h2>
<p>Version 4.1 of Kodo will be based on the OpenJPA code base.</p>
<p><a name="status"></a></p>
-<h2 id="what-is-the-current-status-of-the-project">What is the current status
of the project?</h2>
+<h2 id="what-is-the-current-status-of-the-project">What is the current status
of the project?<a class="headerlink"
href="#what-is-the-current-status-of-the-project" title="Permanent
link">¶</a></h2>
<p>OpenJPA is a top-level project at the Apache Software Foundation.</p>
<p><a name="download"></a></p>
-<h2 id="where-can-i-download-openjpa">Where can I download OpenJPA?</h2>
+<h2 id="where-can-i-download-openjpa">Where can I download OpenJPA?<a
class="headerlink" href="#where-can-i-download-openjpa" title="Permanent
link">¶</a></h2>
<p>Look at the <a href="downloads.html">Downloads</a> page.</p>
<p><a name="server"></a></p>
-<h2 id="does-openjpa-work-with-my-application-server-or-container">Does
OpenJPA work with my application server or container?</h2>
+<h2 id="does-openjpa-work-with-my-application-server-or-container">Does
OpenJPA work with my application server or container?<a class="headerlink"
href="#does-openjpa-work-with-my-application-server-or-container"
title="Permanent link">¶</a></h2>
<p>See <a href="integration.html">Integration</a>
.</p>
<p><a name="contribute"></a></p>
-<h2 id="how-can-i-contribute-to-openjpa">How can I contribute to OpenJPA?</h2>
+<h2 id="how-can-i-contribute-to-openjpa">How can I contribute to OpenJPA?<a
class="headerlink" href="#how-can-i-contribute-to-openjpa" title="Permanent
link">¶</a></h2>
<p>Check out the <a href="get-involved.html">Get Involved</a>
page.</p>
<p><a name="version"></a></p>
-<h2 id="how-do-i-figure-out-which-version-of-openjpa-i-am-running">How do I
figure out which version of OpenJPA I am running?</h2>
+<h2 id="how-do-i-figure-out-which-version-of-openjpa-i-am-running">How do I
figure out which version of OpenJPA I am running?<a class="headerlink"
href="#how-do-i-figure-out-which-version-of-openjpa-i-am-running"
title="Permanent link">¶</a></h2>
<p>You can get version number and other details of OpenJPA jar you are using
by:</p>
<p><a name="sql"></a></p>
-<h2 id="how-do-i-see-the-sql-that-openjpa-is-executing">How do I see the SQL
that OpenJPA is executing?</h2>
+<h2 id="how-do-i-see-the-sql-that-openjpa-is-executing">How do I see the SQL
that OpenJPA is executing?<a class="headerlink"
href="#how-do-i-see-the-sql-that-openjpa-is-executing" title="Permanent
link">¶</a></h2>
<p>OpenJPA provides configurable channel-based logging, as described in the
chapter on <a
href="http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_logging">Logging</a>
. The simplest example of enabling verbose logging is by using the
following property in your {{persistence.xml}} file:</p>
-<div class="codehilite"><pre><span class="o"><</span><span
class="n">persistence</span> <span class="n">xmlns</span><span
class="o">=</span><span
class="s">"http://java.sun.com/xml/ns/persistence"</span>
- <span class="n">xmlns:xsi</span><span class="o">=</span><span
class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
- <span class="n">version</span><span class="o">=</span><span
class="s">"1.0"</span><span class="o">></span>
- <span class="o"><</span><span class="n">persistence</span><span
class="o">-</span><span class="n">unit</span> <span class="n">name</span><span
class="o">=</span><span class="s">"example-logging"</span>
+<div class="codehilite"><pre><span class="o"><</span><span
class="n">persistence</span> <span class="n">xmlns</span><span
class="p">=</span>"<span class="n">http</span><span
class="p">:</span><span class="o">//</span><span class="n">java</span><span
class="p">.</span><span class="n">sun</span><span class="p">.</span><span
class="n">com</span><span class="o">/</span><span class="n">xml</span><span
class="o">/</span><span class="n">ns</span><span class="o">/</span><span
class="n">persistence</span>"
+ <span class="n">xmlns</span><span class="p">:</span><span
class="n">xsi</span><span class="p">=</span>"<span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">www</span><span class="p">.</span><span class="n">w3</span><span
class="p">.</span><span class="n">org</span><span class="o">/</span>2001<span
class="o">/</span><span class="n">XMLSchema</span><span class="o">-</span><span
class="n">instance</span>"
+ <span class="n">version</span><span class="p">=</span>"1<span
class="p">.</span>0"<span class="o">></span>
+ <span class="o"><</span><span class="n">persistence</span><span
class="o">-</span><span class="n">unit</span> <span class="n">name</span><span
class="p">=</span>"<span class="n">example</span><span
class="o">-</span><span class="n">logging</span>"
</pre></div>
@@ -211,7 +222,7 @@ following property in your {{persistence
</persistence-unit>
</persistence></p>
<p><a name="pooling"/></p>
-<h2 id="how-do-i-enable-connection-pooling-in-openjpa">How do I enable
connection pooling in OpenJPA?</h2>
+<h2 id="how-do-i-enable-connection-pooling-in-openjpa">How do I enable
connection pooling in OpenJPA?<a class="headerlink"
href="#how-do-i-enable-connection-pooling-in-openjpa" title="Permanent
link">¶</a></h2>
<p>As of the 2.1.0 release, OpenJPA includes the <a
href="http://jakarta.apache.org/commons/dbcp/">Apache DBCP</a>
connection pool. You can also use any third-party connection pool that is
configurable via the JDBC DataSource API (which most are). The following
@@ -241,32 +252,31 @@ configurable via the JDBC DataSource API
<p>See the documentation on <a
href="http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_dbsetup_thirdparty">Using
a Third-Party DataSource</a> for further details.</p>
-<p><a name="reorder"></a>
<br />
-</p>
-<h2
id="can-openjpa-reorder-sql-statements-to-satisfy-database-foreign-key-constraints">Can
OpenJPA reorder SQL statements to satisfy database foreign key
constraints?</h2>
+<p><a name="reorder"></a>
</p>
+<h2
id="can-openjpa-reorder-sql-statements-to-satisfy-database-foreign-key-constraints">Can
OpenJPA reorder SQL statements to satisfy database foreign key constraints?<a
class="headerlink"
href="#can-openjpa-reorder-sql-statements-to-satisfy-database-foreign-key-constraints"
title="Permanent link">¶</a></h2>
<p>Yes. OpenJPA can reorder and/or batch the SQL statements using different
configurable strategies. The default strategy is capable of reordering the
SQL statements to satisfy foreign key constraints. However ,you must tell
OpenJPA to read the existing foreign key information from the database
schema:</p>
-<div class="codehilite"><pre> <span class="o"><</span><span
class="n">property</span> <span class="n">name</span><span
class="o">=</span><span class="s">"openjpa.jdbc.SchemaFactory"</span>
<span class="n">value</span><span class="o">=</span><span
class="s">"native(ForeignKeys=true)"</span><span
class="o">/></span>
+<div class="codehilite"><pre> <span class="o"><</span><span
class="n">property</span> <span class="n">name</span><span
class="p">=</span>"<span class="n">openjpa</span><span
class="p">.</span><span class="n">jdbc</span><span class="p">.</span><span
class="n">SchemaFactory</span>" <span class="n">value</span><span
class="p">=</span>"<span class="n">native</span><span
class="p">(</span><span class="n">ForeignKeys</span><span
class="p">=</span><span class="n">true</span><span
class="p">)</span>"<span class="o">/></span>
</pre></div>
<p>See the documentation on <a
href="http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_schema_info_list">Schema
Factory</a> for further details.</p>
<p><a name="fk"></a></p>
-<h2
id="why-openjpa-is-not-creating-foreign-key-constraints-on-the-database-tables">Why
OpenJPA is not creating foreign key constraints on the database tables?</h2>
+<h2
id="why-openjpa-is-not-creating-foreign-key-constraints-on-the-database-tables">Why
OpenJPA is not creating foreign key constraints on the database tables?<a
class="headerlink"
href="#why-openjpa-is-not-creating-foreign-key-constraints-on-the-database-tables"
title="Permanent link">¶</a></h2>
<p>By default, OpenJPA does not create foreign key constraints on new tables
that gets created according to O-R mapping annotation/descriptors. You can
change this default behavior via following configuration property :</p>
-<div class="codehilite"><pre> <span class="o"><</span><span
class="n">property</span> <span class="n">name</span><span
class="o">=</span><span
class="s">"openjpa.jdbc.MappingDefaults"</span> <span
class="o">\</span>
- <span class="n">value</span><span class="o">=</span><span
class="s">"ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict"</span><span
class="o">/></span>
+<div class="codehilite"><pre> <span class="o"><</span><span
class="n">property</span> <span class="n">name</span><span
class="p">=</span>"<span class="n">openjpa</span><span
class="p">.</span><span class="n">jdbc</span><span class="p">.</span><span
class="n">MappingDefaults</span>" <span class="o">\</span>
+ <span class="n">value</span><span class="p">=</span>"<span
class="n">ForeignKeyDeleteAction</span><span class="p">=</span><span
class="n">restrict</span><span class="p">,</span><span
class="n">JoinForeignKeyDeleteAction</span><span class="p">=</span><span
class="n">restrict</span>"<span class="o">/></span>
</pre></div>
<p>to create foreign key constraints on the database tables generated by
OpenJPA. </p>
<p><a name="crosstable"></a></p>
-<h2
id="can-openjpa-map-a-one-sided-one-many-association-without-a-cross-table">Can
OpenJPA map a one-sided one-many association without a cross table?</h2>
+<h2
id="can-openjpa-map-a-one-sided-one-many-association-without-a-cross-table">Can
OpenJPA map a one-sided one-many association without a cross table?<a
class="headerlink"
href="#can-openjpa-map-a-one-sided-one-many-association-without-a-cross-table"
title="Permanent link">¶</a></h2>
<p>Yes. Standard JPA specification use a cross table to map one-sided
one-to-many relation without a {{mappedBy}} inverse side. Often, you would
like to create a one-to-many association based on an inverse foreign key
@@ -276,24 +286,24 @@ map the collection of {{LineItem}} of a
of {{LINEITEM}} table referring to primary key of {{SUBSCRIPTION}} table.
{code:JAVA}
package org.mag.subscribe;</p>
-<div class="codehilite"><pre><span class="nb">import</span> <span
class="n">org</span><span class="o">.</span><span class="n">apache</span><span
class="o">.</span><span class="n">openjpa</span><span class="o">.</span><span
class="n">persistence</span><span class="o">.</span><span
class="n">jdbc</span><span class="o">.*</span><span class="p">;</span>
+<div class="codehilite"><pre><span class="n">import</span> <span
class="n">org</span><span class="p">.</span><span class="n">apache</span><span
class="p">.</span><span class="n">openjpa</span><span class="p">.</span><span
class="n">persistence</span><span class="p">.</span><span
class="n">jdbc</span><span class="o">.*</span><span class="p">;</span>
-<span class="nv">@Entity</span>
+<span class="p">@</span><span class="n">Entity</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">LineItem</span> <span class="p">{</span>
- <span class="sr">//</span> <span class="n">has</span> <span
class="nb">no</span> <span class="n">inverse</span> <span
class="n">relation</span> <span class="n">to</span> <span
class="n">Subscription</span>
+ <span class="o">//</span> <span class="n">has</span> <span
class="n">no</span> <span class="n">inverse</span> <span
class="n">relation</span> <span class="n">to</span> <span
class="n">Subscription</span>
<span class="p">}</span>
-<span class="nv">@Entity</span>
-<span class="nv">@Table</span><span class="p">(</span><span
class="n">name</span><span class="o">=</span><span
class="s">"SUB"</span><span class="p">,</span> <span
class="n">schema</span><span class="o">=</span><span
class="s">"CNTRCT"</span><span class="p">)</span>
+<span class="p">@</span><span class="n">Entity</span>
+<span class="p">@</span><span class="n">Table</span><span
class="p">(</span><span class="n">name</span><span
class="p">=</span>"<span class="n">SUB</span>"<span
class="p">,</span> <span class="n">schema</span><span
class="p">=</span>"<span class="n">CNTRCT</span>"<span
class="p">)</span>
<span class="n">public</span> <span class="n">class</span> <span
class="n">Subscription</span> <span class="p">{</span>
- <span class="nv">@Id</span>
+ <span class="p">@</span><span class="n">Id</span>
<span class="n">private</span> <span class="n">long</span> <span
class="n">id</span><span class="p">;</span>
- <span class="nv">@OneToMany</span>
- <span class="nv">@ElementJoinColumn</span><span class="p">(</span><span
class="n">name</span><span class="o">=</span><span
class="s">"SUB_ID"</span><span class="p">,</span> <span
class="n">referencedColumnName</span><span class="o">=</span><span
class="s">"ID"</span><span class="p">)</span>
- <span class="n">private</span> <span class="n">Collection</span><span
class="sr"><LineItem></span> <span class="n">items</span><span
class="p">;</span>
+ <span class="p">@</span><span class="n">OneToMany</span>
+ <span class="p">@</span><span class="n">ElementJoinColumn</span><span
class="p">(</span><span class="n">name</span><span
class="p">=</span>"<span class="n">SUB_ID</span>"<span
class="p">,</span> <span class="n">referencedColumnName</span><span
class="p">=</span>"<span class="n">ID</span>"<span class="p">)</span>
+ <span class="n">private</span> <span class="n">Collection</span><span
class="o"><</span><span class="n">LineItem</span><span class="o">></span>
<span class="n">items</span><span class="p">;</span>
- <span class="o">...</span>
+ <span class="p">...</span>
<span class="p">}</span>
</pre></div>
</div>
Modified: websites/staging/openjpa/trunk/content/fetch-statistics.html
==============================================================================
--- websites/staging/openjpa/trunk/content/fetch-statistics.html (original)
+++ websites/staging/openjpa/trunk/content/fetch-statistics.html Wed Sep 30
17:03:02 2015
@@ -145,14 +145,25 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="fetch-statistics"></a></p>
-<h1 id="fetch-statistics">Fetch Statistics</h1>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="fetch-statistics"></a></p>
+<h1 id="fetch-statistics">Fetch Statistics<a class="headerlink"
href="#fetch-statistics" title="Permanent link">¶</a></h1>
<p>The OpenJPA Fetch Statistics Tool (FST) monitors persistent field access
and helps determine which fields in an application are not used. This tool
is a development / test time tool that can help a developer properly tune
an application.</p>
<p><a name="FetchStatistics-Note"></a></p>
-<h2 id="note">Note</h2>
+<h2 id="note">Note<a class="headerlink" href="#note" title="Permanent
link">¶</a></h2>
<ul>
<li>
<p>Currently, FST only works with runtime enhancement (javaagent or in JEE
@@ -169,12 +180,12 @@ tracked :</p>
</li>
</ul>
<p><a name="FetchStatistics-Download"></a></p>
-<h2 id="download">Download</h2>
+<h2 id="download">Download<a class="headerlink" href="#download"
title="Permanent link">¶</a></h2>
<p>The latest OpenJPA FST jar file can be download from the <a
href="https://repository.apache.org/content/groups/snapshots/org/apache/openjpa/openjpa-fetch-statistics/">SNAPSHOT
Repository</a>
or can be built from the source code in
[svn|https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-tools/openjpa-fetch-statistics/]
by using Maven 2.2.1 and Java SE 6.</p>
<p><a name="FetchStatistics-Configuration"></a></p>
-<h2 id="configuration">Configuration</h2>
+<h2 id="configuration">Configuration<a class="headerlink"
href="#configuration" title="Permanent link">¶</a></h2>
<ul>
<li>JSE - Append the path of openjpa-fetch-statistics-version-SNAPSHOT.jar
file to the classpath prior to lanuching the JVM.</li>
@@ -182,7 +193,7 @@ file to the classpath prior to lanuching
<li>OSGi -- ?? -- Probably need another module that creates a proper
bundle.</li>
</ul>
<p><a name="FetchStatistics-StatisticsCollectingandMonitoring"></a></p>
-<h2 id="statistics-collecting-and-monitoring">Statistics Collecting and
Monitoring</h2>
+<h2 id="statistics-collecting-and-monitoring">Statistics Collecting and
Monitoring<a class="headerlink" href="#statistics-collecting-and-monitoring"
title="Permanent link">¶</a></h2>
<p>There will be a large performance impact when running this tooling. It is
not supported, nor recommended for production use. <strong>This tool should
not be
used on a production machine.</strong></p>
@@ -191,22 +202,22 @@ used on a production machine.</strong></
in the JVM. Statistics will be dumped via the openjpa.Runtime channel with
the INFO level every 10 minutes, or when the JVM terminates. </li>
</ul>
-<h3 id="example-output">Example output</h3>
-<div class="codehilite"><pre> <span class="p">[</span><span
class="mi">7</span><span class="sr">/13/</span><span class="mi">12</span> <span
class="mi">9</span><span class="p">:</span><span class="mo">05</span><span
class="p">:</span><span class="mi">44</span><span class="p">:</span><span
class="mi">265</span> <span class="n">CDT</span><span class="p">](</span><span
class="mi">7</span><span class="sr">/13/</span><span class="mi">12</span><span
class="o">-</span><span class="mi">9</span><span class="p">:</span><span
class="mo">05</span><span class="p">:</span><span class="mi">44</span><span
class="p">:</span><span class="mi">265</span><span class="o">-</span><span
class="n">cdt</span><span class="o">.</span><span class="n">html</span><span
class="p">)</span>
- <span class="mo">00000072</span> <span class="n">Runtime</span> <span
class="n">I</span> <span class="n">CWWJP9990I:</span> <span
class="n">openjpa</span><span class="o">.</span><span class="n">Runtime:</span>
<span class="n">Info:</span> <span class="n">Successfully</span> <span
class="n">collected</span> <span class="n">fetch</span> <span
class="n">statistics</span> <span class="n">from</span> <span
class="n">Entities</span> <span class="p">[</span><span
class="n">org</span><span class="o">.</span><span class="n">apache</span><span
class="o">.</span><span class="n">openjpa</span><span class="o">.</span><span
class="n">test</span><span class="o">.</span><span
class="n">Address</span><span class="p">]</span><span class="o">.</span> <span
class="n">The</span> <span class="n">following</span> <span
class="n">fields</span> <span class="n">are</span>
- <span class="n">FetchType</span><span class="o">.</span><span
class="n">EAGER</span> <span class="ow">and</span> <span class="n">were</span>
<span class="n">never</span> <span class="n">fetched</span> <span
class="p">[</span> <span class="n">total</span> <span class="mi">7</span> <span
class="p">]</span> <span class="p">:</span>
- <span class="n">org</span><span class="o">.</span><span
class="n">apache</span><span class="o">.</span><span
class="n">openjpa</span><span class="o">.</span><span
class="n">test</span><span class="o">.</span><span
class="n">Address</span><span class="o">.</span><span class="n">city</span>
- <span class="n">org</span><span class="o">.</span><span
class="n">apache</span><span class="o">.</span><span
class="n">openjpa</span><span class="o">.</span><span
class="n">test</span><span class="o">.</span><span
class="n">Address</span><span class="o">.</span><span class="n">country</span>
- <span class="n">org</span><span class="o">.</span><span
class="n">apache</span><span class="o">.</span><span
class="n">openjpa</span><span class="o">.</span><span
class="n">test</span><span class="o">.</span><span
class="n">Address</span><span class="o">.</span><span class="n">phone</span>
- <span class="n">org</span><span class="o">.</span><span
class="n">apache</span><span class="o">.</span><span
class="n">openjpa</span><span class="o">.</span><span
class="n">test</span><span class="o">.</span><span
class="n">Address</span><span class="o">.</span><span class="n">state</span>
- <span class="n">org</span><span class="o">.</span><span
class="n">apache</span><span class="o">.</span><span
class="n">openjpa</span><span class="o">.</span><span
class="n">test</span><span class="o">.</span><span
class="n">Address</span><span class="o">.</span><span class="n">street1</span>
- <span class="n">org</span><span class="o">.</span><span
class="n">apache</span><span class="o">.</span><span
class="n">openjpa</span><span class="o">.</span><span
class="n">test</span><span class="o">.</span><span
class="n">Address</span><span class="o">.</span><span class="n">street2</span>
- <span class="n">org</span><span class="o">.</span><span
class="n">apache</span><span class="o">.</span><span
class="n">openjpa</span><span class="o">.</span><span
class="n">test</span><span class="o">.</span><span
class="n">Address</span><span class="o">.</span><span class="n">zip</span>
+<h3 id="example-output">Example output<a class="headerlink"
href="#example-output" title="Permanent link">¶</a></h3>
+<div class="codehilite"><pre> <span class="p">[</span>7<span
class="o">/</span>13<span class="o">/</span>12 9<span class="p">:</span>05<span
class="p">:</span>44<span class="p">:</span>265 <span class="n">CDT</span><span
class="p">](</span>7<span class="o">/</span>13<span class="o">/</span>12<span
class="o">-</span>9<span class="p">:</span>05<span class="p">:</span>44<span
class="p">:</span>265<span class="o">-</span><span class="n">cdt</span><span
class="p">.</span><span class="n">html</span><span class="p">)</span>
+ 00000072 <span class="n">Runtime</span> <span class="n">I</span>
<span class="n">CWWJP9990I</span><span class="p">:</span> <span
class="n">openjpa</span><span class="p">.</span><span
class="n">Runtime</span><span class="p">:</span> <span
class="n">Info</span><span class="p">:</span> <span
class="n">Successfully</span> <span class="n">collected</span> <span
class="n">fetch</span> <span class="n">statistics</span> <span
class="n">from</span> <span class="n">Entities</span> <span
class="p">[</span><span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span
class="n">openjpa</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">Address</span><span class="p">].</span> <span class="n">The</span>
<span class="n">following</span> <span class="n">fields</span> <span
class="n">are</span>
+ <span class="n">FetchType</span><span class="p">.</span><span
class="n">EAGER</span> <span class="n">and</span> <span class="n">were</span>
<span class="n">never</span> <span class="n">fetched</span> <span
class="p">[</span> <span class="n">total</span> 7 <span class="p">]</span>
<span class="p">:</span>
+ <span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span
class="n">openjpa</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">Address</span><span class="p">.</span><span class="n">city</span>
+ <span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span
class="n">openjpa</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">Address</span><span class="p">.</span><span class="n">country</span>
+ <span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span
class="n">openjpa</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">Address</span><span class="p">.</span><span class="n">phone</span>
+ <span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span
class="n">openjpa</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">Address</span><span class="p">.</span><span class="n">state</span>
+ <span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span
class="n">openjpa</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">Address</span><span class="p">.</span><span class="n">street1</span>
+ <span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span
class="n">openjpa</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">Address</span><span class="p">.</span><span class="n">street2</span>
+ <span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span
class="n">openjpa</span><span class="p">.</span><span
class="n">test</span><span class="p">.</span><span
class="n">Address</span><span class="p">.</span><span class="n">zip</span>
</pre></div>
<p><a name="FetchStatistics-Configurationremoval"></a></p>
-<h2 id="configuration-removal">Configuration removal</h2>
+<h2 id="configuration-removal">Configuration removal<a class="headerlink"
href="#configuration-removal" title="Permanent link">¶</a></h2>
<ul>
<li>Stop the JVM and reverse the steps completed to configure the tool.</li>
</ul>
Modified:
websites/staging/openjpa/trunk/content/findbugs-presentation-notes.html
==============================================================================
--- websites/staging/openjpa/trunk/content/findbugs-presentation-notes.html
(original)
+++ websites/staging/openjpa/trunk/content/findbugs-presentation-notes.html Wed
Sep 30 17:03:02 2015
@@ -145,7 +145,18 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="FindBugs-Presentation-Notes"></a></p>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="FindBugs-Presentation-Notes"></a></p>
<p>Bill Pugh</p>
<p>(side note: compiling with "-target jsr14" will allow us to use generics
and compile to JDK 1.4 usable code)</p>
Modified: websites/staging/openjpa/trunk/content/found-a-bug.html
==============================================================================
--- websites/staging/openjpa/trunk/content/found-a-bug.html (original)
+++ websites/staging/openjpa/trunk/content/found-a-bug.html Wed Sep 30 17:03:02
2015
@@ -145,9 +145,20 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="Found-a-Bug"></a></p>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="Found-a-Bug"></a></p>
<p><a name="FoundaBug-FoundaBug?"></a></p>
-<h2 id="found-a-bug">Found a Bug?</h2>
+<h2 id="found-a-bug">Found a Bug?<a class="headerlink" href="#found-a-bug"
title="Permanent link">¶</a></h2>
<p>If you think you've found a problem with OpenJPA, there are several ways to
proceed.</p>
<p>You can begin by raising the issue on the OpenJPA User or Developer mailing
@@ -170,7 +181,7 @@ fix to us. You need to check out the cur
<p>and of course, confirm that the problem is
actually fixed. Then, go to the root directory of your OpenJPA checkout,
and run a command like </p>
-<div class="codehilite"><pre> <span class="n">svn</span> <span
class="n">diff</span> <span class="o">></span> <span
class="n">OPENJPA</span><span class="o">-</span><span
class="sr"><JIRA_NUMBER></span><span class="o">-</span><span
class="sr"><BRANCH_ID></span><span class="o">.</span><span
class="n">patch</span>
+<div class="codehilite"><pre> <span class="n">svn</span> <span
class="n">diff</span> <span class="o">></span> <span
class="n">OPENJPA</span><span class="o">-<</span><span
class="n">JIRA_NUMBER</span><span class="o">>-<</span><span
class="n">BRANCH_ID</span><span class="o">></span><span
class="p">.</span><span class="n">patch</span>
</pre></div>
@@ -186,7 +197,7 @@ should also have an <a href="http://www.
on file with the ASF.</p>
<p>Thanks for working with us to improve Apache OpenJPA!</p>
<p><a name="FoundaBug-ReportingSecurityVulnerabilities"></a></p>
-<h2 id="reporting-security-vulnerabilities">Reporting Security
Vulnerabilities</h2>
+<h2 id="reporting-security-vulnerabilities">Reporting Security
Vulnerabilities<a class="headerlink" href="#reporting-security-vulnerabilities"
title="Permanent link">¶</a></h2>
<p>The Apache Software Foundation takes a very active stance in eliminating
security problems and denial of service attacks against the code we
provide.</p>
Modified: websites/staging/openjpa/trunk/content/get-involved.html
==============================================================================
--- websites/staging/openjpa/trunk/content/get-involved.html (original)
+++ websites/staging/openjpa/trunk/content/get-involved.html Wed Sep 30
17:03:02 2015
@@ -145,13 +145,24 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="Get-Involved"></a></p>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="Get-Involved"></a></p>
<p><a name="GetInvolved-JointheApacheOpenJPACommunity"></a></p>
-<h2 id="join-the-apache-openjpa-community">Join the Apache OpenJPA
Community</h2>
+<h2 id="join-the-apache-openjpa-community">Join the Apache OpenJPA Community<a
class="headerlink" href="#join-the-apache-openjpa-community" title="Permanent
link">¶</a></h2>
<p>The Apache OpenJPA project is being built by the open source community for
the open source community - we welcome your input and contributions!</p>
<p><a name="GetInvolved-Whatwearelookingfor"></a></p>
-<h3 id="what-we-are-looking-for">What we are looking for</h3>
+<h3 id="what-we-are-looking-for">What we are looking for<a class="headerlink"
href="#what-we-are-looking-for" title="Permanent link">¶</a></h3>
<ul>
<li>Source code and fixes contributions</li>
<li>Test cases for issues encountered during application development </li>
@@ -161,7 +172,7 @@ the open source community - we welcome y
<li>Articles and whitepapers</li>
</ul>
<p><a name="GetInvolved-HowdoIContribute?"></a></p>
-<h3 id="how-do-i-contribute">How do I Contribute?</h3>
+<h3 id="how-do-i-contribute">How do I Contribute?<a class="headerlink"
href="#how-do-i-contribute" title="Permanent link">¶</a></h3>
<ul>
<li>To discuss Apache OpenJPA topics check out the <a
href="mailing-lists.html">Mailing lists</a>
.</li>
@@ -169,7 +180,7 @@ the open source community - we welcome y
.</li>
</ul>
<p><a
name="GetInvolved-IhaveencounteredanissuewithOpenJPA.WhatdoIdonow?"></a></p>
-<h3 id="i-have-encountered-an-issue-with-openjpa-what-do-i-do-now">I have
encountered an issue with OpenJPA. What do I do now?</h3>
+<h3 id="i-have-encountered-an-issue-with-openjpa-what-do-i-do-now">I have
encountered an issue with OpenJPA. What do I do now?<a class="headerlink"
href="#i-have-encountered-an-issue-with-openjpa-what-do-i-do-now"
title="Permanent link">¶</a></h3>
<ul>
<li>Post a message to OpenJPA User's list to discuss the issue.</li>
<li>Search existing <a
href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&mode=hide&pid=12310351">issues</a>
@@ -183,7 +194,7 @@ the open source community - we welcome y
page for more details on creating and submitting patches.</li>
</ul>
<p><a name="GetInvolved-HowDoIGetChangesIntoOpenJPA"></a></p>
-<h3 id="i-have-encountered-an-issue-with-openjpa-and-have-fixed-it-in-the">I
have encountered an issue with OpenJPA and have fixed it in the</h3>
+<h3 id="i-have-encountered-an-issue-with-openjpa-and-have-fixed-it-in-the">I
have encountered an issue with OpenJPA and have fixed it in the<a
class="headerlink"
href="#i-have-encountered-an-issue-with-openjpa-and-have-fixed-it-in-the"
title="Permanent link">¶</a></h3>
<p>OpenJPA source code. How do I get the changes into OpenJPA?</p>
<ul>
<li>Create a <a href="http://issues.apache.org/jira/browse/OPENJPA">JIRA
issue</a>
Modified: websites/staging/openjpa/trunk/content/getting-started.html
==============================================================================
--- websites/staging/openjpa/trunk/content/getting-started.html (original)
+++ websites/staging/openjpa/trunk/content/getting-started.html Wed Sep 30
17:03:02 2015
@@ -145,13 +145,24 @@ limitations under the License.
</td>
<td valign="top" width="100%"
style="overflow:hidden;">
<div class="wiki-content">
- <p><a
name="Gettingstarted-Notes"></a></p>
-<h2 id="notes">Notes</h2>
+ <style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink,
h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink,
dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a name="Gettingstarted-Notes"></a></p>
+<h2 id="notes">Notes<a class="headerlink" href="#notes" title="Permanent
link">¶</a></h2>
<p>These instructions detail the steps required to run a give sample for a
number of different environments. You can substitute any of the directories in
the [binary download](binary-download.html)
\examples\ directory for <strong>hellojpa</strong> in the instructions below
to run a
different sample.</p>
<p><a name="Gettingstarted-GettingStartedwiththeEclipse"></a></p>
-<h2 id="getting-started-with-the-eclipse">Getting Started with the Eclipse</h2>
+<h2 id="getting-started-with-the-eclipse">Getting Started with the Eclipse<a
class="headerlink" href="#getting-started-with-the-eclipse" title="Permanent
link">¶</a></h2>
<ol>
<li>Download the OpenJPA binary release from the <a
href="downloads.html">downloads</a>
page and unpack it by double-clicking it.</li>
@@ -184,7 +195,7 @@ entity class, play with them by adding f
persistence operations. Have fun!</li>
</ol>
<p><a name="Gettingstarted-GettingStartedwiththeConsole"></a></p>
-<h2 id="getting-started-with-the-console">Getting Started with the Console</h2>
+<h2 id="getting-started-with-the-console">Getting Started with the Console<a
class="headerlink" href="#getting-started-with-the-console" title="Permanent
link">¶</a></h2>
<ol>
<li>Ensure that you have <a href="http://ant.apache.org/">Apache Ant</a>
installed (this sample was tested with ant 1.6.5, but any recent version
@@ -204,7 +215,7 @@ entity class, play with them by adding f
persistence operations. Have fun!</li>
</ol>
<p><a name="Gettingstarted-GettingStartedwithNetbeans"></a></p>
-<h2 id="getting-started-with-netbeans">Getting Started with Netbeans</h2>
+<h2 id="getting-started-with-netbeans">Getting Started with Netbeans<a
class="headerlink" href="#getting-started-with-netbeans" title="Permanent
link">¶</a></h2>
<ol>
<li>Download the OpenJPA binary release from the <a
href="downloads.html">downloads</a>
page and unpack it by double-clicking it.</li>
Modified: websites/staging/openjpa/trunk/content/index.html
==============================================================================
--- websites/staging/openjpa/trunk/content/index.html (original)
+++ websites/staging/openjpa/trunk/content/index.html Wed Sep 30 17:03:02 2015
@@ -251,7 +251,7 @@ and passes the Sun JPA 2.0 Technology Co
<p></A> </SPAN>
<SPAN class="blogHeading">
<DIV class="page-metadata not-personal"><A
href="http://people.apache.org/committer-index.html#struberg" class="url fn
confluence-userlink" data-username="[email protected]">Mark Struberg</A>
posted on 2015-09-30</DIV>
- <A class="blogHeading" href="openjpa-2.4.0.html">OpenJPA 2.4.0 Released!</A>
+ <A class="blogHeading" href="openjpa-2.4.x.html">OpenJPA 2.4.0 Released!</A>
</SPAN>
</DIV></p>
<p><DIV class="wiki-content">
@@ -267,11 +267,11 @@ and passes the Sun JPA 2.0 Technology Co
<p></A> </SPAN>
<SPAN class="blogHeading">
<DIV class="page-metadata not-personal"><A
href="https://cwiki.apache.org/confluence/users/[email protected]"
class="url fn confluence-userlink" data-username="[email protected]">Kevin
Sutter</A> posted on May 15, 2014</DIV>
- <A class="blogHeading" href="openjpa-2.3.0.html">OpenJPA 2.3.0 Released!</A>
+ <A class="blogHeading" href="openjpa-2.3.x.html">OpenJPA 2.3.1 Released!</A>
</SPAN>
</DIV></p>
<p><DIV class="wiki-content">
- <P>The Apache OpenJPA community is proud to finally announce the release of
OpenJPA 2.3.0!</P></p>
+ <P>The Apache OpenJPA community is proud to finally announce the release of
OpenJPA 2.3.1!</P></p>
<p><P>Please visit our project website to learn more about Apache OpenJPA
and<BR>
how to download or include our persistence provider in your builds.</P></p>
<p><P><A href="http://openjpa.apache.org/" class="external-link"
rel="nofollow">http://openjpa.apache.org/</A></P></p>