私はビジネスとエリアという2つのエンティティを持っています。休止状態2つのテーブルに左に残る
関連特性:
ビジネス - 地域、AREA2、コード
エリア - エリアID、AREANAME
エリアとビジネスマップのAREA2 IDとエリア内
私は、Hibernateを書くしようとしていますビジネスだけのすべての領域を返す基準。
SQLは次のようになります。エリアから LEFT OUTER a.areaId = b.areaまたはa.areaId = b.area2 WHERE a.areaName
BY b.code = nullを GROUP にビジネスbを登録しよう!これは私が持っているものです。
DetachedCriteria criteria = DetachedCriteria.forClass(Business.class)
.setProjection(Property.forName("area"))
.setProjection(Property.forName("area2"))
.add(Restrictions.ne("code", null));
Criteria criteriaArea = fullTextSession.createCriteria(Area.class)
.createAlias("areaId", "areaId", CriteriaSpecification.LEFT_JOIN)
.add(Property.forName("areaId").in(criteria));
しかし、これは動作しません、私は「ありません関連:エリアID」を取得クエリの例外を。
なぜこれが起こっているすべてのアイデア?ありがとう。
小さなヒント:Restrictions.isNotNull( "コード")を使用します。一部のデータベースでは、 "<> null"は "is not null"とは異なります。 –
関係をエンティティ定義に入れましたか?(xmlまたは注釈) – Reddy