É possível criar Joins com JPL?
Tenho a seguinte estrutura:
@Entity
@NamedQuery(
name = "consultarFabrica",
query = "SELECT f FROM Fabrica f INNER JOIN c.clientes WHERE c.id = :id")
public class Fabrica implements Serializable {
@Id
@Column( name = "id_fabrica" )
private Long id;
@OneToMany
@JoinColumn( name = "id_cliente", referencedColumnName = "id_cliente" )
private List<Cliente> clientes;
}
Quando eu executo a query "consultarFabrica" o JPA executa duas queries.
Uma para pegar a fabrica:select * from fabrica f inner join cliente c on( f.id_cliente = c.id_cliente ) where f.id_fabrica = ?
select * from cliente c where id_cliente = ?
Esta última, em específico, é executada mais de uma vez.
Acredito que o erro seja no mapeamento da classe, alguém saberia dizer aonde esta o erro?
Desde já agradeço a ajuda de todos.