Author: buildbot
Date: Mon Jul 17 09:11:46 2023
New Revision: 1083654

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/integrating-with-jpa.html

Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/tapestry/content/integrating-with-jpa.html
==============================================================================
--- websites/production/tapestry/content/integrating-with-jpa.html (original)
+++ websites/production/tapestry/content/integrating-with-jpa.html Mon Jul 17 
09:11:46 2023
@@ -147,13 +147,14 @@
 <div class="aui-message aui-message-info macro-since"><b 
class="param-since">Added in 5.3</b>
 
 
+    <div class="param-body"></div>
 
 </div><p>Tapestry provides a built-in integration with the Java Persistence 
API (JPA) through the <strong>Tapestry-jpa</strong> module. This module 
supersedes the 3rd-party <a class="external-link" 
href="http://www.tynamo.org/tapestry-jpa+guide/"; rel="nofollow">Tynamo JPA 
module</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1669470764201 {padding: 0px;}
-div.rbtoc1669470764201 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1669470764201 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1689585101048 {padding: 0px;}
+div.rbtoc1689585101048 ul {margin-left: 0px;}
+div.rbtoc1689585101048 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1669470764201">
+/*]]>*/</style></p><div class="toc-macro rbtoc1689585101048">
 <ul class="toc-indentation"><li><a 
href="#IntegratingwithJPA-Downloading">Downloading</a>
 <ul class="toc-indentation"><li><a 
href="#IntegratingwithJPA-SelectingaJPAImplementation">Selecting a JPA 
Implementation</a></li></ul>
 </li><li><a href="#IntegratingwithJPA-ConfiguringJPA">Configuring JPA</a>
@@ -238,7 +239,7 @@ div.rbtoc1669470764201 li {margin-left:
      cfg.add("JTAUnit", configurer);
    }
 }</code></pre>
-</div></div><p>In the example above you can see a contribution to the 
<em>EntityManagerSource</em> service. This service is responsible for creating 
the <a class="external-link" 
href="http://download.oracle.com/javaee/6/api/javax/persistence/EntityManagerFactory.html";
 rel="nofollow">EntityManagerFactory</a> to be used to create <a 
class="external-link" 
href="http://download.oracle.com/javaee/6/api/javax/persistence/EntityManager.html";
 rel="nofollow">EntityManager</a>. When the service is initialized, it parses 
the <em>persistence.xml</em> file, if available. For any persistence unit 
defined in the XML descriptor a <em>TapestryPersistenceUnitInfo</em> object is 
created. The <em>TapestryPersistenceUnitInfo</em> interface is a mutable 
extension of the <a class="external-link" 
href="http://download.oracle.com/javaee/6/api/javax/persistence/spi/PersistenceUnitInfo.html";
 rel="nofollow">PersistenceUnitInfo</a> interface (defined in the JPA 
specification) that allows you to configure a pers
 istence unit programmatically.</p><p>After parsing the persistence descriptor, 
the EntityManagerSource service applies its configuration to create further 
persistence units and/or update the existing ones. The service&#8217;s 
configuration is a map in which persistence unit names are associated with 
<em>PersistenceUnitConfigurer</em> instances. A PersistenceUnitConfigurer is 
used to configure a persistence unit programmatically that has been associated 
with it. In the example above you can see a contribution providing a 
PersistenceUnitConfigurer for the unit named <em>JTAUnit</em>.</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Note that the 
TapestryPersistenceUnitInfo instance passed to the PersistenceUnitConfigurer is 
either empty or my contain the persistence unit metadata read from the 
persistenc
 e.xml file. What happens if you contribute a PersistenceUnitConfigurer for a 
persistence unit that has not been defined in the persistence.xml file? In this 
case Tapestry assumes that you want to configure the persistence unit 
programmatically and just creates a fresh <em>TapestryPersistenceUnitInfo</em> 
object and passes it to the 
<em>PersistenceUnitConfigurer</em>.</p></div></div><h2 
id="IntegratingwithJPA-Automaticallyaddingmanagedclasses">Automatically adding 
managed classes</h2><p>If only a single persistence unit is defined, Tapestry 
scans the <em>application-root-package.entities</em> package. The classes in 
that package are automatically added as managed classes to the defined 
persistence unit.</p><p>If you have additional packages containing entities, 
you may contribute them to the <em>JpaEntityPackageManager</em> service 
configuration.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>AppM
 odule.java (partial)</b></div><div class="codeContent panelContent pdl">
+</div></div><p>In the example above you can see a contribution to the 
<em>EntityManagerSource</em> service. This service is responsible for creating 
the <a class="external-link" 
href="http://download.oracle.com/javaee/6/api/javax/persistence/EntityManagerFactory.html";
 rel="nofollow">EntityManagerFactory</a> to be used to create <a 
class="external-link" 
href="http://download.oracle.com/javaee/6/api/javax/persistence/EntityManager.html";
 rel="nofollow">EntityManager</a>. When the service is initialized, it parses 
the <em>persistence.xml</em> file, if available. For any persistence unit 
defined in the XML descriptor a <em>TapestryPersistenceUnitInfo</em> object is 
created. The <em>TapestryPersistenceUnitInfo</em> interface is a mutable 
extension of the <a class="external-link" 
href="http://download.oracle.com/javaee/6/api/javax/persistence/spi/PersistenceUnitInfo.html";
 rel="nofollow">PersistenceUnitInfo</a> interface (defined in the JPA 
specification) that allows you to configure a pers
 istence unit programmatically.</p><p>After parsing the persistence descriptor, 
the EntityManagerSource service applies its configuration to create further 
persistence units and/or update the existing ones. The service&#8217;s 
configuration is a map in which persistence unit names are associated with 
<em>PersistenceUnitConfigurer</em> instances. A PersistenceUnitConfigurer is 
used to configure a persistence unit programmatically that has been associated 
with it. In the example above you can see a contribution providing a 
PersistenceUnitConfigurer for the unit named <em>JTAUnit</em>.</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Note that the 
TapestryPersistenceUnitInfo instance passed to the PersistenceUnitConfigurer is 
either empty or may contain the persistence unit metadata read from the 
persisten
 ce.xml file. What happens if you contribute a PersistenceUnitConfigurer for a 
persistence unit that has not been defined in the persistence.xml file? In this 
case Tapestry assumes that you want to configure the persistence unit 
programmatically and just creates a fresh <em>TapestryPersistenceUnitInfo</em> 
object and passes it to the 
<em>PersistenceUnitConfigurer</em>.</p></div></div><h2 
id="IntegratingwithJPA-Automaticallyaddingmanagedclasses">Automatically adding 
managed classes</h2><p>If only a single persistence unit is defined, Tapestry 
scans the <em>application-root-package.entities</em> package. The classes in 
that package are automatically added as managed classes to the defined 
persistence unit.</p><p>If you have additional packages containing entities, 
you may contribute them to the <em>JpaEntityPackageManager</em> service 
configuration.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>App
 Module.java (partial)</b></div><div class="codeContent panelContent pdl">
 <pre><code class="language-java">public class AppModule {
 
    @Contribute(JpaEntityPackageManager.class)


Reply via email to