2017-01-27 7 views
0

Ownerdetials(親テーブル) とVehiclemaster(子テーブル)の2つのPOJOクラスがあります。 (オーナーネームを意味します)は、Vehicleテーブルに属しています。Hibernate One to Manyリレーションシップでのフェッチレコードの方法

私のクラス:

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 
} 

HibernateはHQLクエリに変換する方法を、私のSQLクエリです?

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

私はそれを見つけましたが、適切な結果が得られませんでした。

答えて

0

マッピング

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 
+0

おかげマチェイKowalski..butは得ていない "vm.vname = 'name' を" 行。 'name'データメンバがpojoクラスに存在しない場合、どうすればよいですか。 – rahim

+0

プライベート文字列vname;再度これはちょうど、必要な場合はどこで使用するの例です –

+0

私の答えはあなたの質問に対処し、あなたの問題を修正していますか? –