Thursday December 15, 2005
Persistence in J2SE project The big advantage of the EJB 3.0 is using entity beans out of container. This new feature will allow to test your business objects outside of application server. I would like to show how you can write simple J2SE project that uses EntityManager in NetBeans 5.0. Let's create new J2SE project in NetBeans.
<persistence xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="pu1">
<!-- Provider class name is required in Java SE -->
<provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
<!-- All persistence classes must be listed -->
<class>persistence.Product</class>
<properties>
<!-- Provider-specific connection properties -->
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="jdbc.connection.string" value="jdbc:mysql://localhost:3306/EJB"/>
<property name="jdbc.user" value="blaha"/>
<property name="jdbc.password" value="passw"/>
<!-- Provider-specific settings -->
<property name="toplink.logging.level" value="INFO"/>
</properties>
</persistence-unit>
</persistence>
36 EntityManagerFactory emF = Persistence.createEntityManagerFactory("pu1"); 37 EntityManager em = emF.createEntityManager(); 38 EntityTransaction tx = em.getTransaction(); 39 tx.begin(); 40 Product product = new Product(); 41 product.setId(1); 42 product.setPartNumber("ADSD-64464"); 43 product.setDescription("HAMMER"); 44 product.setPrice(12); 45 em.persist(product); 46 tx.commit(); 47 48 // try to find product 49 Query query = em.createQuery("select p from Product p where p.description =:descr"); 50 query.setParameter("descr","hammer"); 51 List results = query.getResultList(); 52