سلام بر همگی
دو تا جدول با نام های Site و IP دارم که رابطه بین اون ها OneToMany هستش که سورس دو تا کلاس رو در ادامه ضمیمه کردم

کلاس Site
@Entity
@Table(name = "tbl_site", uniqueConstraints = { @UniqueConstraint(columnNames = "name", name = "name_un"), @UniqueConstraint(columnNames = "octed2", name = "octed2_un") })
public class Site implements Serializable {

private static final Long serialVersionUID = 3L;

private Long site_id;

private String name;
private String octed2;

private List<IP> ip;

public Site() {}

public Site(String name, String octed2) {
this.name = name;
this.octed2 = octed2;
}

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "site_id", nullable = false, unique = true, columnDefinition = "INT unsigned")
public Long getSite_id() {
return site_id;
}

public void setSite_id(Long site_id) {
this.site_id = site_id;
}

@Column(name = "name", nullable = false, length = 30)
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Column(name = "octed2", nullable = false, length = 3)
public String getOcted2() {
return octed2;
}

public void setOcted2(String octed2) {
this.octed2 = octed2;
}

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "site")
@Fetch(value = FetchMode.SUBSELECT)
public List<IP> getIp() {
return ip;
}

public void setIp(List<IP> ip) {
this.ip = ip;
}
}


کلاس IP
@Entity
@Table(name = "tbl_ips", uniqueConstraints = { @UniqueConstraint(columnNames = "ip_address", name = "ip_address_un")})
public class IP implements Serializable {

private static final Long serialVersionUID = 3L;

private Long ipId;

private String IPAddress;

private Site site;

public IP() {}

public IP(String IPAddress) {
this.IPAddress = IPAddress;
}

public IP(String IPAddress, Site site) {
this.IPAddress = IPAddress;
this.site = site;
}

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ip_id", nullable = false, unique = true, columnDefinition = "INT unsigned")
public Long getIpId() {
return ipId;
}

public void setIpId(Long ipId) {
this.ipId = ipId;
}

@Column(name = "ip_address", nullable = false, length = 15)
public String getIPAddress() {
return IPAddress;
}

public void setIPAddress(String IPAddress) {
this.IPAddress = IPAddress;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "site_id")
public Site getSite() {
return site;
}

public void setSite(Site site) {
this.site = site;
}
}


در جایی از پروژه ام نیاز دارم که فقط تمامی داده های جدول Site رو بخونم برای این کار از دستور زیر استفاده کردم:
@Override
public List getAllSite() {
return sessionFactory.getCurrentSession().createQuery("fr om Site order by site_id desc").getResultList();
}


حالا مشکل کار اینجاس که با استفاده از دستور بالا و با توجه به اینکه از دستور fetch = FetchType.LAZY هم در ایجاد رابطه بین دو جدول استفاده کردم تمامی اطلاعات دو جدول خونده میشه
برای اینکه فقط اطلاعات جدول Site خونده بشه کار دیگه ای هم باید انجام بدم ؟؟؟