Excluir Objetos en Hibernate annotations

Hola tengo una clase llamada Tercero:

La cual esta relaciona con 4 Clases:Comision,Campo,Venta,Compra.

Cuando hago una consulta en hibernate a tercero.
Me realiza las consultas a la tabla, comision,campo,venta y compra.
Yo necesito excluir algunos objetos.

Necesito armar un query de Tercero: que solo me devuelva el objeto Tercero y Venta.
(Todas las ventas del Tercero).
y no ningun objeto mas.
Intente esto pero no me sale.

                         t= (Tercero) s
                                .createQuery("p.id,p.nombre,p.direccion,p.telefono,p.venta from Tercero p  where p.nombre =:pnombre")
                                .setParameter("pnombre", clienteNombre);

clase Tercero

package org.transacciones.dominio;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.NamedNativeQuery;
import javax.validation.constraints.NotNull;

import org.hibernate.annotations.Cascade;
@Entity
@javax.persistence.Table(name="terceros")
@NamedNativeQuery(name="tercero", query="select idTercero,nombre,domicilio,telefono,idTipo,idComision from terceros where nombre = :nombre", resultClass = Tercero.class)
public class Tercero implements Serializable {
        private long id;
        private String nombre;
        private String direccion;
        private String telefono;
        private Tipo tipo;
        private Comision comision;
        private Set<Compra> compra = new HashSet<Compra>(0);
        private Set<Venta> venta = new HashSet<Venta>(0);
        @Id
        @GeneratedValue
        @Column(name="idTercero")
        public long getId() {
                return id;
        }
        public void setId(long id) {
                this.id = id;
        }
        @Column(name="nombre")
        @NotNull
        public String getNombre() {
                return nombre;
        }
        public void setNombre(String nombre) {
                this.nombre = nombre;
        }
        @Column(name="domicilio")
        public String getDireccion() {
                return direccion;
        }
        public void setDireccion(String direccion) {
                this.direccion = direccion;
        }
        @Column(name="telefono")
        public String getTelefono() {
                return telefono;
        }
        public void setTelefono(String telefono) {
                this.telefono = telefono;
        }
        @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.ALL},targetEntity=Tipo.class)
        @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE,org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
        @JoinColumn(name="idTipo")
        @NotNull
        public Tipo getTipo() {
                return tipo;
        }
        public void setTipo(Tipo tipo) {
                this.tipo = tipo;
        }
        @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.ALL},targetEntity=Comision.class)
        @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE,org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
        @JoinColumn(name="idComision")
        public Comision getComision() {
                return comision;
        }
        @NotNull
        public void setComision(Comision comision) {
                this.comision = comision;
        }
        @ManyToMany
        @JoinTable(
                        name="compras_terceros",
                        joinColumns = { @JoinColumn(name = "terceros_idTercero") },
                        inverseJoinColumns = { @JoinColumn( name ="compras_idCompra" )}
                        )
        public Set<Compra> getCompra() {
                return compra;
        }
        public void setCompra(Set<Compra> compra) {
                this.compra = compra;
        }
        @ManyToMany
        @JoinTable(
                        name="ventas_terceros",
                        joinColumns = { @JoinColumn(name = "terceros_idTercero") },
                        inverseJoinColumns = { @JoinColumn( name ="ventas_idVenta" )}
                        )
        public Set<Venta> getVenta() {
                return venta;
        }
        public void setVenta(Set<Venta> venta) {
                this.venta = venta;
        }

}

<code>

a ver si alguien me puede orientar para realizar consultas que excluyan objetos que no me son necesarios.?

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

Entonces arma tu consulta

Entonces arma tu consulta como si fuera SQL, y mapeas las propiedades a tu objeto como si lo hicieras con JDBC

Nota: tienes

@NamedNativeQuery( ....

No tendría que ser:

@NamedQuery( ....

Puesto que tu consulta está en HQL y no en SQL?