簡體   English   中英

在Hibernate一對多關系中如何獲取記錄

[英]How fetch record in Hibernate One to Many relationship

我有2個POJO類: Ownerdetials (父表)和Vehiclemaster (子表)。 我想獲取屬於Vehicle表的所​​有oname (表示所有者名稱)。

我的課程:

Ownerdetails.java:

public class Ownerdetails  implements java.io.Serializable {
    private Integer ownerid;
    private String oname;
    private String panno;
    private String mobile;
    private String address;
    private String pincode;
    private String city;
    private String state;
    private String country;
    private String accno;
    private String bankname;
    private String branch;
    private String ifccode;
    private Set vehiclemasters = new HashSet(0);
    //Setter and Getter method 
 }

Vehiclemaster.java:

public class Vehiclemaster  implements java.io.Serializable {
    private Integer vid;
    private Ownerdetails ownerdetails;
    private String vno;
    private String vname;
    private String driverlicense;
    private String unladenWeight;
    private String drivername;
    private String vtype;
    private String inscompname;
    private String instype;
    private String insfrom;
    private String insto;
    private String fitnessdatefrom;
    private String fitnessdateto;
    //Setter and Getter Method
}

以下是我的SQL查詢,如何在Hibernate HQL查詢中轉換?

select ownerdetails.oname from ownerdetails,vehiclemaster 
WHERE ownerdetails.ownerid=vehiclemaster.ownerid; 

我用谷歌搜索,但是沒有得到正確的結果。

對應

public class Ownerdetails  implements java.io.Serializable {

  @Id
  private Integer ownerid;

  @OneToMany(mappedBy = "ownerdetails")
  private Set<Vehiclemaster> vehiclemasters = new HashSet(0);

}

public class Vehiclemaster  implements java.io.Serializable {

   @Id
   private Integer vid;

   @ManyToOne 
   @JoinColumn(name = "ownerid")
   private Ownerdetails ownerdetails;

}

詢問

select distinct od.oname 
from Ownerdetails od
   inner join od.vehiclemasters vm
where vm.vname = 'name'  // optional

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM