2016-04-13 12 views
2

に関連付けられたテーブルからのデータは、私は地域と呼ばれるエンティティを持っています。HibernateのHQLクエリは、別のテーブル

市は以下の通りです: -

@Entity 
@Table(name = "CMN_CITY_MASTER") 
public class City{ 

    @Id 
    @Column(name = "CITY_ID", unique = true, nullable = false,length = 11) 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private int cityId; 

    @Column(name = "CITY",length = 150) 
    private String description; 

    @JsonIgnore 
    @ManyToOne 
    @JoinColumn(name = "STATE_ID") 
    private State state; 
} 

私は、クエリの下にしようとした=(例1)

市IDを持っている地域のエンティティ/テーブルからすべてのデータを取得したい: -

@Query("SELECT a FROM Locality a INNER JOIN a.city c WHERE c.cityId=?1") 
List<Locality>getAllLocalityByCity(int cityId); 

とも

@Query("SELECT a FROM Locality a WHERE a.city.cityId=?1") 
List<Locality>getAllLocalityByCity(int cityId); 

しかし、これらは機能しません。

データを照会する方法を教えてください。

さらに、クエリの変更ごとにサーバーを再起動するよりも早くHQLクエリをテストするEclipseプラグイン/ツールがありますか?

HQLを学ぶためのドキュメントや書籍を読むことをお勧めしますか?

答えて

1

あなたは私はあなたが次のことを試して提案することができます任意のログや説明を提供していないので:

HQLを学習するための
@Query("SELECT a FROM Locality a INNER JOIN a.city c WHERE c.cityId = :cityId") 
List<Locality>getAllLocalityByCity(@Param("cityId") int cityId); 

私はHibernate Docsで始まります。 Criteria APIもご覧ください。

+0

これはうまくいきました。実際には、スキーマの列名にエラーがありました。したがって、クエリは機能しませんでした。ログを確認して修正しました。どうもありがとう.. :) – aniltilanthe

関連する問題