Pessoal
Uso, na minha aplicação, Hibernate e JPA.
Tenho duas tabelas similares a estas:
e
A única diferença é que a TRABALHOS_EM_EDICAO possui campos a mais que a TRABALHOS, porém, elas realmente precisam estar em tabelas separadas.
Mapeei estas tabelas em classes como estas:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@Table(name = "TRABALHOS")
public class Trabalho implements Serializable {
// ...
}
e
@Entity
@Table(name = "TRABALHOS_EM_EDICAO")
public class TrabalhoEmEdicao extends Trabalho {
// ...
}
Quando eu busco todos os TrabalhoEmEdicao, através de uma query HQL, tudo funciona perfeitamente, porém, se eu tento fazer uma query HQL para buscar todos os Trabalho, o retorno vem errado. São retornados todos os registros de Trabalho, duplicando aqueles que possuem ID igual a algum registro de TrabalhoEmEdicao. Suponho que isto seja por causa da herança, mas como resolver isto e trazer apenas os registros de Trabalho?
A query é bastante simples:
select d from Trabalho d order by d.nome
O que eu posso fazer para solucionar o caso?
Obrigado