<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Using Java Persistence in a Stand-Alone Web App - NetBeans IDE Sample Applications</title>
    <meta name="description" content="A Java EE example program that uses an EJB 3.0 entity bean, Java Persistence API (JPA), and JSF">
    <link rel="stylesheet" href="https://netbeans.org/netbeans.css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <link rel="stylesheet" type="text/css" href="../../netbeans.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../netbeans_sample.css" media="screen">
</head>
<body>
<h1>Get Inspired. Get Started.</h1>
<table class="b-none" width="100%">
<tr class="valign-top">
<td>
    
    <!-- +++++++++++++++++ begin insert new content +++++++++++++++++ -->
                
    <!-- +++++ Add Sample Description and Image +++++ -->
    <div id="sampledesc"><!-- begin sampledesc -->
        <h2>Using the Java Persistence API in a Stand-Alone Web App</h2>
        
        <div id="samplethumb"><!-- add sample image and link here -->
            <!-- Image is only linked when flass demo is available -->    
            <img src="../../images_www/sample-catalog/WebJpa.jpg" alt="" align="top" height="150" width="150">
            <!-- remove this line if no flash demo available -->  
        </div>
        
        <p>Demonstrates the use of Java Persistence APIs based on the new Java Persistence specification within a servlet.</p>
        
    </div><!-- end sampledesc -->

                
    <!-- +++++ Add Required Software Here +++++ -->
    <br style="clear:both;">
    <div style="float:left;width:45%;">
        <h3><b>Get NetBeans IDE</b></h3>
        <br>
        <a href="../../downloads/index.html">
            <img src="../../images_www/v5/download-nb-button3.gif" alt="Download NetBeans" class="align-left b-none" height="27" width="165" style="margin:4px 10px 4px 0;clear:right;">
        </a>
        <br style="clear:both;">
        <br>
        <p class="orange font-13">NetBeans IDE 6.9, 7.0, 7.1, 7.2, Java EE bundle</p>
    </div>
    
    <!-- +++++  Add Sample Location Here +++++ -->
    <div style="float:right;width:45%;">
        <h3><b>Get the Sample</b></h3>
        <!-- Commenting out image because it's only used for samples on the Update Center
                    <img src="../../images_www/v5/universal-download.png" alt="Download NetBeans" class="align-left" class="b-none" height="32" width="32"> -->
        <br style="clear:both;">
        <p><img src="../../images_www/v4/arr_r3.gif" alt="arrow"> This sample is already bundled in the Java EE bundle of NetBeans IDE.</p>
        <p><img src="../../images_www/v4/arr_r3.gif" alt="arrow"> Choose: File &gt; New Project &gt; Samples &gt; Java Web &gt; Web JPA</p>
    </div>
    <br style="clear:both;">
    
    <!-- +++++++++++++++++ end insert new content +++++++++++++++++ -->

    <div class="b-top">
        <h3><b>NetBeans Update Center </b></h3>
        <p>The Update Center is your source for accessing the latest samples
            highlighting emerging technologies, plug-ins from NetBeans and our
            partners, and patches to make sure your IDE is running smoothly. As
        fast as we make it, we'll ship it to you via the Update Center.</p>
        <p><b>Start now by having the latest Top 5 samples delivered  directly to your IDE.</b></p>
        <br>
        <div class="feedback-box" ><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Java%20Persistence%20in%20a%20Stand-Alone%20Web%20App">Send Feedback on This Tutorial</a></div>
    </div>
</td>                                    
<td style="padding: 25px 0px 0px 20px;" width="170" class="b-left">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" height="400" width="154">
    <script type="text/javascript">
            document.write('<param name="movie" value="../../images_www/sample-catalog/menu.swf'+window.location.search+'" />');
    </script>
    <param name="quality" value="best" />
    <param name="play" value="true" />
    <script type="text/javascript">
            document.write('<embed height="400" pluginspage="http://www.macromedia.com/go/getflashplayer" src="../../images_www/sample-catalog/menu.swf'+window.location.search+'" type="application/x-shockwave-flash" width="154" quality="best" play="true">');
    </script>
</object>
<p class="align-center"><small><a href="master-index.html">View all samples</a></small></p>
</td>
</tr>

</table>
</body>
</html>