<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "32) Como usar Mentawai com JPA"]]></title>
		<link>http://forum.mentaframework.org/posts/list/19.page</link>
		<description><![CDATA[Latest messages posted in the topic "32) Como usar Mentawai com JPA"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>32) Como usar Mentawai com JPA</title>
				<description><![CDATA[ Seguindo a tradição de facilidade de desenvolvimento, trabalhar a sua aplicação Mentawai com JPA é muito fácil!

Se você não conhece nada de JPA dê uma olhada nesse <a href="http://blogs.sun.com/arungupta/entry/hello_jpa_world" target="_new" rel="nofollow">Hello JPA World</a> e no <a href="http://java.sun.com/javaee/overview/faq/persistence.jsp" target="_new" rel="nofollow">Java Persistence API FAQ</a> .

Abaixo a única coisa que você precisa fazer para habilitar o uso de JPA:

 :arrow: declarar a <a href="http://java.sun.com/javaee/5/docs/api/javax/persistence/PersistenceUnit.html" target="_new" rel="nofollow">Persistence Unit</a> no ApplicationManager


<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>

    public void loadActions&#40;&#41; {

    	// seta o persistent-unit do JPA
    	JPAHelper.setPersistenceUnit&#40;"meuBancoDeDados"&#41;;
   
       //  suas actions
</pre>
		</div>

Pronto! Depois disso é só sair usando!

Pela definição do JPA, dentro do META-INF da sua aplicação deve existir um arquivo <a href="http://download.oracle.com/docs/cd/B31017_01/web.1013/b28221/cfgdepds005.htm" target="_new" rel="nofollow">persistence.xml</a> com as informações de conexão do banco de dados e de qual implementação de persistência você vai usar: Oracle Toplink, EJB3 ou Hibernate. Esse exemplo é do último citado:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>&lt;persistence xmlns="http://java.sun.com/xml/ns/persistence"   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence         
   version="1.0"&gt;
   &lt;persistence-unit name="meuBancoDeDados"&gt;
&lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt;
           &lt;class&gt;org.mentawai.list.ListDataItemJPA&lt;/class&gt;
      &lt;properties&gt;
          &lt;property name="hibernate.archive.autodetection" value="class, hbm"/&gt;
          &lt;property name="hibernate.show_sql" value="true"/&gt;
    	  &lt;property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/&gt;
		  &lt;property name="connection.driver_class" value="com.mysql.jdbc.Driver"/&gt;
		  &lt;property name="connection.url" value="jdbc:mysql://localhost/meuBanco"/&gt;
		  &lt;property name="connection.username" value="root"/&gt;
		  &lt;property name="connection.password" value=""/&gt;
		  &lt;property name="connection.pool_size" value="5"/&gt;		  
      &lt;/properties&gt;
   &lt;/persistence-unit&gt;
&lt;/persistence&gt;
</pre>
		</div>

 :arrow: para fazer suas consultas:

Exemplo de consultar uma empresa:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>    	EntityManager em = JPAHelper.getEntityManagerForQueries&#40;&#41;;
    	Empresa empresa = em.find&#40;Empresa.class, codigo&#41;; 
    	JPAHelper.closeEntityManagerForQueries&#40;em&#41;;</pre>
		</div>


 :arrow: Para fazer suas transações:

Exemplo de gravar uma empresa:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
    	EntityManager em = JPAHelper.beginTransaction&#40;&#41;;
    	em.persist&#40;empresa&#41;;
    	JPAHelper.commitTransaction&#40;em&#41;;
</pre>
		</div>

 :arrow: usar com DBListData

Se você precisar de um combo de empresas como esse:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
        DBListData dbListData = new DBListData&#40;"empresas", "codigo", "nome", "Empresa", "nome"&#41;;</pre>
		</div>

A chamada para carregar a lista é essa:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>        
try{
        dbListData.loadUsingJPA&#40;&#41;;
      } catch&#40;SQLException e&#41;{     }

   ListManager.addList&#40;dbListData&#41;;
</pre>
		</div>

Atualmente o suporte ao JPA só existe na versão beta, mas em breve estará disponível.

Bom proveito e boas transações !  :lol: 

]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/1699.page#13461</guid>
				<link>http://forum.mentaframework.org/posts/list/1699.page#13461</link>
				<pubDate><![CDATA[Sun, 2 Dec 2007 19:00:18]]> GMT</pubDate>
				<author><![CDATA[ boaglio]]></author>
			</item>
	</channel>
</rss>