{"id":1451,"date":"2012-07-17T18:08:40","date_gmt":"2012-07-17T16:08:40","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=1451"},"modified":"2012-07-17T18:08:40","modified_gmt":"2012-07-17T16:08:40","slug":"jpa-beispiel-in-wenigen-minuten-mit-openjpa","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2012\/07\/jpa-beispiel-in-wenigen-minuten-mit-openjpa\/","title":{"rendered":"JPA-Beispiel in wenigen Minuten mit OpenJPA"},"content":{"rendered":"<ol>\n<li>Beziehe unter <a href=\"http:\/\/mvnrepository.com\/artifact\/org.apache.openjpa\/openjpa-all\">http:\/\/mvnrepository.com\/artifact\/org.apache.openjpa\/openjpa-all<\/a> das <em>openjpa-all-2.2.0.jar<\/em> (etwas mehr als 6 MiB) und setzte es in den Klassenpfad.<\/li>\n<li>Habe einen Datentreiber im Klassenpfad (bei mir den der HSQLDB).<\/li>\n<li>Lege im Projekt einen Ordner <em>META-INF<\/em> an, platziere dort eine Datei <em>persistence.xml:<\/em><\/li>\n<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;     <br \/>&lt;persistence xmlns=&quot;<a href=\"http:\/\/java.sun.com\/xml\/ns\/persistence&quot;\">http:\/\/java.sun.com\/xml\/ns\/persistence&quot;<\/a>      <br \/>&#160; xmlns:xsi=&quot;<a href=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\">http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;<\/a>      <br \/>&#160; xsi:schemaLocation=&quot;<a href=\"http:\/\/java.sun.com\/xml\/ns\/persistence\">http:\/\/java.sun.com\/xml\/ns\/persistence<\/a> persistence_2_0.xsd&quot;      <br \/>&#160; version=&quot;2.0&quot;&gt;      <br \/>&#160; &lt;persistence-unit name=&quot;traida&quot; transaction-type=&quot;RESOURCE_LOCAL&quot;&gt;      <br \/>&#160;&#160;&#160; &lt;class&gt;traida.shared.domain.Contact&lt;\/class&gt;      <br \/>&#160;&#160;&#160; &lt;properties&gt;      <br \/>&#160;&#160;&#160;&#160;&#160; &lt;property name=&quot;openjpa.jdbc.DBDictionary&quot; value=&quot;hsql&quot;\/&gt;      <br \/>&#160;&#160;&#160;&#160;&#160; &lt;property name=&quot;javax.persistence.jdbc.url&quot; value=&quot;jdbc:hsqldb:file:hsqldbtest;user=sa&quot; \/&gt;      <br \/>&#160;&#160;&#160;&#160;&#160; &lt;property name=&quot;javax.persistence.jdbc.driver&quot; value=&quot;org.hsqldb.jdbcDriver&quot; \/&gt;      <br \/>&#160;&#160;&#160;&#160;&#160; &lt;property name=&quot;openjpa.Log&quot; value=&quot;DefaultLevel=ERROR, Tool=ERROR&quot; \/&gt;      <br \/>&#160;&#160;&#160;&#160;&#160; &lt;property name=&quot;openjpa.jdbc.SynchronizeMappings&quot; value=&quot;buildSchema(ForeignKeys=true)&quot;\/&gt;      <br \/>&#160;&#160;&#160; &lt;\/properties&gt;      <br \/>&#160; &lt;\/persistence-unit&gt;      <br \/>&lt;\/persistence&gt;<\/p>\n<p>Mehr zu den Properties unter <a href=\"http:\/\/openjpa.apache.org\/builds\/apache-openjpa-2.2.1-SNAPSHOT\/docs\/docbook\/manual\/main.html\">http:\/\/openjpa.apache.org\/builds\/apache-openjpa-2.2.1-SNAPSHOT\/docs\/docbook\/manual\/main.html<\/a>.<\/p>\n<li>Lege eine Klasse traida.shared.domain.Contact an:<\/li>\n<p>@Entity     <br \/>public class Contact {      <br \/>&#160; @Id      <br \/>&#160; @GeneratedValue( strategy = GenerationType.IDENTITY )      <br \/>&#160; public Long id;      <br \/>&#160; public String name;      <br \/>&#160; \/\/ Setter\/Getter ausgelassen      <br \/>}<\/p>\n<li>Schreibe eine main(String[])-Methode mit:<\/li>\n<p>EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory( &quot;traida&quot; );     <br \/>EntityManager entityManager = entityManagerFactory.createEntityManager();      <br \/>entityManager.getTransaction().begin();      <br \/>Contact c = new Contact();      <br \/>c.name = &quot;Hallo Willi&quot;;      <br \/>entityManager.persist( c );      <br \/>entityManager.getTransaction().commit();      <br \/>System.out.println( entityManager.createQuery( &quot;select c from Contact c&quot; ).getResultList() );      <br \/>entityManager.close();<\/p>\n<li>Fertig, jetzt freuen.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Beziehe unter http:\/\/mvnrepository.com\/artifact\/org.apache.openjpa\/openjpa-all das openjpa-all-2.2.0.jar (etwas mehr als 6 MiB) und setzte es in den Klassenpfad. Habe einen Datentreiber im Klassenpfad (bei mir den der HSQLDB). Lege im Projekt einen Ordner META-INF an, platziere dort eine Datei persistence.xml: &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;persistence xmlns=&quot;http:\/\/java.sun.com\/xml\/ns\/persistence&quot; &#160; xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot; &#160; xsi:schemaLocation=&quot;http:\/\/java.sun.com\/xml\/ns\/persistence persistence_2_0.xsd&quot; &#160; version=&quot;2.0&quot;&gt; &#160; &lt;persistence-unit name=&quot;traida&quot; transaction-type=&quot;RESOURCE_LOCAL&quot;&gt; &#160;&#160;&#160; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[9],"tags":[72,73,74],"class_list":["post-1451","post","type-post","status-publish","format-standard","hentry","category-java-ee","tag-ejb","tag-jpa","tag-openjpa"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=1451"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1451\/revisions"}],"predecessor-version":[{"id":1452,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1451\/revisions\/1452"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}