<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pretty Code Blog &#187; JPA</title>
	<atom:link href="http://www.prettycode.com.br/blog/category/programacao/jpa/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.prettycode.com.br/blog</link>
	<description>Just another weblog about development</description>
	<lastBuildDate>Wed, 26 Oct 2011 02:34:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Usando QUERIES em BUNDLES</title>
		<link>http://www.prettycode.com.br/blog/2009/01/usando-queries-em-bundles/</link>
		<comments>http://www.prettycode.com.br/blog/2009/01/usando-queries-em-bundles/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 12:18:07 +0000</pubDate>
		<dc:creator>gi</dc:creator>
				<category><![CDATA[JPA]]></category>
		<category><![CDATA[properties]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.prettycode.com.br/blog/?p=123</guid>
		<description><![CDATA[Classe que usará a query &#8220;Exemplo.QUERY_buscaTodos&#8221; package br.com.prettycode.treinamento.model.dao.impl; public class FuncionarioDAOOracleImpl implements FuncionarioDAO { (...) public List&#60;Funcionario&#62; findAllExclusionLogical() { (...) conn = getConnectionPool().getConnection(); // query a ser executada String query = Buscas.getString(&#34;Exemplo.QUERY_buscaTodos&#34;); //$NON-NLS-1$ stmt = conn.prepareStatement(query); (...) } Classe que manipula os bundles package br.com.prettycode.treinamento.util; import java.util.MissingResourceException; import java.util.ResourceBundle; public class Buscas { private static [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Classe que usará a query &#8220;Exemplo.QUERY_buscaTodos&#8221;</strong></p>
<pre class="brush: java">
package br.com.prettycode.treinamento.model.dao.impl;

public class FuncionarioDAOOracleImpl implements FuncionarioDAO {
(...)

public List&lt;Funcionario&gt; findAllExclusionLogical() {
(...)

conn = getConnectionPool().getConnection();

// query a ser executada
String query = Buscas.getString(&quot;Exemplo.QUERY_buscaTodos&quot;); //$NON-NLS-1$

stmt = conn.prepareStatement(query);
(...)

}
</pre>
<p><strong>Classe que manipula os bundles</strong></p>
<pre class="brush: java">
package br.com.prettycode.treinamento.util;

import java.util.MissingResourceException;
import java.util.ResourceBundle;

public class Buscas {
private static final String BUNDLE_NAME = &quot;br.com.prettycode.treinamento.properties.buscasSQL&quot;; //$NON-NLS-1$

private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);

private Buscas() {
}

public static String getString(String key) {
try {
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e) {
return &#039;!&#039; + key + &#039;!&#039;;
}
}
}</pre>
<p><strong>Arquivo properties (caminho completo: src/br/com/prettycode/treinamento/properties/buscasSQL.properties)</strong></p>
<pre class="brush: java">Exemplo.QUERY_buscaTodos=SELECT  FUNC.CODIGO,  FUNC.NOME,  FUNC.CARGO,  FUNC.SALARIO,  FUNC.RESUMO,  FUNC.STATUS,  FUNC.EXCLUIDO,  FUNC.COD_DEPTO,  DEPTO.NOME,  DEPTO.DESCRICAO  FROM  T_FUNCIONARIO FUNC,  T_DEPARTAMENTO DEPTO  WHERE  ((FUNC.EXCLUIDO is null) OR (FUNC.EXCLUIDO = ?))
</pre>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.prettycode.com.br%2Fblog%2F2009%2F01%2Fusando-queries-em-bundles%2F&amp;title=Usando%20QUERIES%20em%20BUNDLES" id="wpa2a_2">Share/Save</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.prettycode.com.br/blog/2009/01/usando-queries-em-bundles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nativeQuery</title>
		<link>http://www.prettycode.com.br/blog/2008/07/nativequery/</link>
		<comments>http://www.prettycode.com.br/blog/2008/07/nativequery/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 07:32:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JPA]]></category>
		<category><![CDATA[Biblioteca]]></category>
		<category><![CDATA[busca]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[toplink]]></category>

		<guid isPermaLink="false">http://www.prettycode.com.br/blog/?p=19</guid>
		<description><![CDATA[Um dos propósitos que tive ao iniciar mais um blog (este aqui ) foi ter onde registrar algumas dicas e sacadas que descobri depois de penar por aí. Bom, o primeiro caso é o uso de nativeQuery da JPA. Eu uso a biblioteca da Oracle, a Toplink. Ah, eu sou um tanto ansiosa e imediatista, [...]]]></description>
			<content:encoded><![CDATA[<p>Um dos propósitos que tive ao iniciar mais um blog (este aqui <img src='http://www.prettycode.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt='[:D]' class='wp-smiley' />   ) foi ter onde registrar algumas dicas e sacadas que descobri depois de penar por aí.</p>
<p>Bom, o primeiro caso é o uso de <a title="Toplink JPA" href="http://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#NamedNativeQuery" target="_blank">nativeQuery </a>da JPA. Eu uso a biblioteca da Oracle, a Toplink.</p>
<p>Ah, eu sou um tanto ansiosa e imediatista, não vou perder tempo com tutoriais, até porque acho que serei a única pessoa a consultar isso aqui. Mas se você leitor tiver alguma dúvida, pergunte, quem sabe sou boazinha? <img src='http://www.prettycode.com.br/blog/wp-includes/images/smilies/smile009.gif' alt=';)' class='wp-smiley' /> </p>
<p>Eu estava tendo um erro, ao tentar usar o resultado de uma nativeQuery como se fosse uma lista. Mas na verdade o que ela retorna é uma lista de arrays do objeto.</p>
<p>Para resolver o problema bastou adicionar a classe do objeto que eu queria que fosse listado como parâmetro.</p>
<p><strong>Veja só, assim recupero uma lista de Arrays:</strong></p>
<pre class="brush: java">
List&lt;Pessoa&gt; resultList = null;
try {
Query query = manager.createNativeQuery(queryName);
resultList = query.getResultList();
log.debug(&quot;Size of the resultlist... &quot; + resultList.size());
(...)
</pre>
<p><strong>Assim recupero uma lista de objetos (no caso Pessoa)</strong></p>
<pre class="brush: java">
List&lt;Pessoa&gt; resultList = null;
try {
Query query = manager.createNativeQuery(queryName,Pessoa.class);
resultList = query.getResultList();
log.debug(&quot;Size of the resultlist... &quot; + resultList.size());
(...)</pre>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.prettycode.com.br%2Fblog%2F2008%2F07%2Fnativequery%2F&amp;title=nativeQuery" id="wpa2a_4">Share/Save</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.prettycode.com.br/blog/2008/07/nativequery/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

