テーブルをクエリし、いくつかのパラメーターを使用してフィルター処理するという非常に簡単なタスクがあります (このパラメーターは、他のテーブルの外部キーです)。
例として、Table1 には次のフィールドが含まれます。
id, name , description, company_id;
入力として company_id (会社オブジェクトではない) を受け取り、table1 からすべてのレコードを返すメソッドがあります。条件クエリは次のようになります。
DetachedCriteria criteria = DetachedCriteria.forClass(Table1.class)
.add(Restrictions.eq("company.id", companyId));
問題は、これを行うためにいくつかのテーブルを結合するため、生成されたクエリが複雑すぎることです。そして、このクエリは「本番対応」ではありません
このような SQL クエリを持つ基準を構築する方法はありますか?:
SELECT * from table1 where company_id =?