<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comentários sobre: JPA com Hibernate: Herança e Mapeamentos</title>
	<atom:link href="http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/</link>
	<description>blog dos desenvolvedores da Caelum</description>
	<lastBuildDate>Sun, 12 Feb 2012 05:01:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: Carlos Amaral</title>
		<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/comment-page-1/#comment-85405</link>
		<dc:creator>Carlos Amaral</dc:creator>
		<pubDate>Mon, 25 Jul 2011 22:36:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/03/04/jpa-com-hibernate-heranca-e-mapeamentos/#comment-85405</guid>
		<description>Mas a normalização é obrigatória e necessária para não haver redundância de dados.
Exemplo : Tabela Pessoa (id, nome, apelido, cnpj, tipo)
Todas as Pessoas do aplicativo tem um tipo : alunos, fornecedores, professores, agencias bancarias, sindicatos, escritorios de contabilidade, etc,  estão nesta tabela e eu quero separa-las conforme o caso de uso.

No caso de agencia bancária, a única diferença é que tenho que guardar o número da agencia e o banco (tabela Banco).

Haveria aí uma tabela AgenciaBancaria(idPessoa, idBanco, numeroAgencia)
Como proceder neste caso ? Terei 50.000 Pessoas sendo que, no máximo, 5 agencias bancárias. Vou modelar a minha tabela Pessoa com o campo numeroAgencia e deixar 49.995 registros com este campo em branco ?

Aí é necessário esta composição, mas também é complicado fazer a união citada, pois para cada tipo haverá uma tabela com a particularidade daquele tipo. 

Como proceder ?</description>
		<content:encoded><![CDATA[<p>Mas a normalização é obrigatória e necessária para não haver redundância de dados.<br />
Exemplo : Tabela Pessoa (id, nome, apelido, cnpj, tipo)<br />
Todas as Pessoas do aplicativo tem um tipo : alunos, fornecedores, professores, agencias bancarias, sindicatos, escritorios de contabilidade, etc,  estão nesta tabela e eu quero separa-las conforme o caso de uso.</p>
<p>No caso de agencia bancária, a única diferença é que tenho que guardar o número da agencia e o banco (tabela Banco).</p>
<p>Haveria aí uma tabela AgenciaBancaria(idPessoa, idBanco, numeroAgencia)<br />
Como proceder neste caso ? Terei 50.000 Pessoas sendo que, no máximo, 5 agencias bancárias. Vou modelar a minha tabela Pessoa com o campo numeroAgencia e deixar 49.995 registros com este campo em branco ?</p>
<p>Aí é necessário esta composição, mas também é complicado fazer a união citada, pois para cada tipo haverá uma tabela com a particularidade daquele tipo. </p>
<p>Como proceder ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: vitor</title>
		<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/comment-page-1/#comment-76678</link>
		<dc:creator>vitor</dc:creator>
		<pubDate>Tue, 15 Mar 2011 14:42:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/03/04/jpa-com-hibernate-heranca-e-mapeamentos/#comment-76678</guid>
		<description>seguinte: uma dúvida...

tenho uma classe Pessoa, por exemplo, e essa classe possui uma lista de endereços. tenho muitos campos na classe pessoa que não são necessários para um relatório e eu não queria trazer eles em um select, mas preciso dos endereços.

consigo criar um VO que receba no construtor por exemplo
(string nome, string sobrenome, List enderecos) e na query fazer 
&quot;select new valueObj(pessoa.nome, pessoa.sobrenome,pessoa.enderecos) from .... ???</description>
		<content:encoded><![CDATA[<p>seguinte: uma dúvida&#8230;</p>
<p>tenho uma classe Pessoa, por exemplo, e essa classe possui uma lista de endereços. tenho muitos campos na classe pessoa que não são necessários para um relatório e eu não queria trazer eles em um select, mas preciso dos endereços.</p>
<p>consigo criar um VO que receba no construtor por exemplo<br />
(string nome, string sobrenome, List enderecos) e na query fazer<br />
&#8220;select new valueObj(pessoa.nome, pessoa.sobrenome,pessoa.enderecos) from &#8230;. ???</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enfrentando a LazyInitializationException no Hibernate &#124; blog.caelum.com.br</title>
		<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/comment-page-1/#comment-74550</link>
		<dc:creator>Enfrentando a LazyInitializationException no Hibernate &#124; blog.caelum.com.br</dc:creator>
		<pubDate>Fri, 04 Feb 2011 15:43:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/03/04/jpa-com-hibernate-heranca-e-mapeamentos/#comment-74550</guid>
		<description>[...] sobre os estados de uma entidade na JPA, hábitos importantes para todo desenvolvedor Hibernate e mapeamento de herança, além de muitos outros artigos relacionados ao framework. O nosso curso FJ-25 trata bastante de [...]</description>
		<content:encoded><![CDATA[<p>[...] sobre os estados de uma entidade na JPA, hábitos importantes para todo desenvolvedor Hibernate e mapeamento de herança, além de muitos outros artigos relacionados ao framework. O nosso curso FJ-25 trata bastante de [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Uma duvida</title>
		<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/comment-page-1/#comment-60242</link>
		<dc:creator>Uma duvida</dc:creator>
		<pubDate>Sat, 24 Oct 2009 23:21:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/03/04/jpa-com-hibernate-heranca-e-mapeamentos/#comment-60242</guid>
		<description>Imagina que eu tenho Classe Pessoa,PessoaFisica,PessoaJuridica,Cliente

Como seria esta relação?Como fazer o JPA entender que quando gravar em Cliente,deve-se gravar em Pessoa e dependendo da opcao , gravar ou em pessoa juridica ou em pessoa fisica?</description>
		<content:encoded><![CDATA[<p>Imagina que eu tenho Classe Pessoa,PessoaFisica,PessoaJuridica,Cliente</p>
<p>Como seria esta relação?Como fazer o JPA entender que quando gravar em Cliente,deve-se gravar em Pessoa e dependendo da opcao , gravar ou em pessoa juridica ou em pessoa fisica?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enfrentando a LazyInitializationException no Hibernate &#124; blog.caelum.com.br</title>
		<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/comment-page-1/#comment-60110</link>
		<dc:creator>Enfrentando a LazyInitializationException no Hibernate &#124; blog.caelum.com.br</dc:creator>
		<pubDate>Tue, 13 Oct 2009 19:52:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/03/04/jpa-com-hibernate-heranca-e-mapeamentos/#comment-60110</guid>
		<description>[...] sobre os estados de uma entidade na JPA, hábitos importantes para todo desenvolvedor Hibernate e mapeamento de herança, além de muitos outros artigos relacionados ao framework. O nosso curso FJ-26 trata bastante de [...]</description>
		<content:encoded><![CDATA[<p>[...] sobre os estados de uma entidade na JPA, hábitos importantes para todo desenvolvedor Hibernate e mapeamento de herança, além de muitos outros artigos relacionados ao framework. O nosso curso FJ-26 trata bastante de [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Leandro Guimarães Faria Corcete DUTRA</title>
		<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/comment-page-1/#comment-34906</link>
		<dc:creator>Leandro Guimarães Faria Corcete DUTRA</dc:creator>
		<pubDate>Fri, 04 Apr 2008 21:48:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/03/04/jpa-com-hibernate-heranca-e-mapeamentos/#comment-34906</guid>
		<description>O problema é que (1) &lt;a href=&quot;http://databaseconsultinggroup.com/blog/2008/04/dont_do_entity_class.html&quot; rel=&quot;nofollow&quot;&gt;não de podem mapear classes e tabelas&lt;/a&gt;, (2) o modelo de dados tem de ser criado indepentemente do de classes, porque o ponto fulcral do sistema é a base de dados, não o programa aplicativo.</description>
		<content:encoded><![CDATA[<p>O problema é que (1) <a href="http://databaseconsultinggroup.com/blog/2008/04/dont_do_entity_class.html" rel="nofollow">não de podem mapear classes e tabelas</a>, (2) o modelo de dados tem de ser criado indepentemente do de classes, porque o ponto fulcral do sistema é a base de dados, não o programa aplicativo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Blog do Márcio d&#8217;Ávila &#187; Boas blogadas - novidades e atualidades Java EE 5/6</title>
		<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/comment-page-1/#comment-26635</link>
		<dc:creator>Blog do Márcio d&#8217;Ávila &#187; Boas blogadas - novidades e atualidades Java EE 5/6</dc:creator>
		<pubDate>Sat, 05 Jan 2008 07:57:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/03/04/jpa-com-hibernate-heranca-e-mapeamentos/#comment-26635</guid>
		<description>[...] em relação à burocracia do EJB2; a nova API de Persistência Java (JPA) (veja [1], [2], [3], [4]) &#8212; que também tira muito proveito das anotações e simplifica a persistência dos Entity [...]</description>
		<content:encoded><![CDATA[<p>[...] em relação à burocracia do EJB2; a nova API de Persistência Java (JPA) (veja [1], [2], [3], [4]) &#8212; que também tira muito proveito das anotações e simplifica a persistência dos Entity [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Ricardo Azevedo</title>
		<link>http://blog.caelum.com.br/jpa-com-hibernate-heranca-e-mapeamentos/comment-page-1/#comment-21870</link>
		<dc:creator>Ricardo Azevedo</dc:creator>
		<pubDate>Fri, 26 Oct 2007 15:40:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2007/03/04/jpa-com-hibernate-heranca-e-mapeamentos/#comment-21870</guid>
		<description>Olá Paulo,

Obrigado pelo post, ajudou muito em nossos testes de JPA.

Estamos fazendo testes com Herança com JPA e surgiu uma dúvida sobre o mapeamento de &lt;b&gt; Herança com sobreposição (overlapping) &lt;b&gt;, onde eu possa ter mais de uma subclasse para uma mesma classe pai. Exemplo: Pessoa (pai) que pode ser um Cliente (filha), mas também um Fornecedor (filha), ou um Funcionário (filha) que também pode ser um Vendedor (filha).

Problema: Quando tentamos mapear isto com o relacionamento joined-class, ao criar o segundo registro filho, ocorre um erro, pois ele tenta criar novamente o registro pai.

Uma solução que me passaram seria forçar a exclusão do pai, antes de incluir um novo filho, mas existem problemas de restrição no próprio banco. 

Pergunta: Existe alguma anotação específica para determinar esta propriedade da herança em UML (overlapping) ou existe uma forma melhor de mapear esta herança com o Hibernate?

Obrigado e um abraço,</description>
		<content:encoded><![CDATA[<p>Olá Paulo,</p>
<p>Obrigado pelo post, ajudou muito em nossos testes de JPA.</p>
<p>Estamos fazendo testes com Herança com JPA e surgiu uma dúvida sobre o mapeamento de <b> Herança com sobreposição (overlapping) </b><b>, onde eu possa ter mais de uma subclasse para uma mesma classe pai. Exemplo: Pessoa (pai) que pode ser um Cliente (filha), mas também um Fornecedor (filha), ou um Funcionário (filha) que também pode ser um Vendedor (filha).</p>
<p>Problema: Quando tentamos mapear isto com o relacionamento joined-class, ao criar o segundo registro filho, ocorre um erro, pois ele tenta criar novamente o registro pai.</p>
<p>Uma solução que me passaram seria forçar a exclusão do pai, antes de incluir um novo filho, mas existem problemas de restrição no próprio banco. </p>
<p>Pergunta: Existe alguma anotação específica para determinar esta propriedade da herança em UML (overlapping) ou existe uma forma melhor de mapear esta herança com o Hibernate?</p>
<p>Obrigado e um abraço,</b></p>
]]></content:encoded>
	</item>
</channel>
</rss>

