Hibernate と PostgreSql を使用しています。休止状態では、次のような 2 つのクラスがあります。
Mobile(id, name, serial no,model_no)
Model(id, description, value)
Model クラスの値が Mobile クラス (model_no) に格納されるようになりました。この Mobile クラスには Model クラスへの参照がありません。
Model クラスには次のようなデータがあります。
Modal
======
id description value
1 aaaa 1
2 bbbbb 2
3 ccccc 3
4 ddddd 12
5 eeee 40
ここで、この値は Mobile テーブルに格納されています。Mobile テーブルでは、model_no が 0 になっています (これは Model にはありません。その値を Model テーブルに入れたくありません。入れた場合、多くのコードを変更する必要があるためです。
今、クエリで出力を取得したいのは
value description
---- ------------
0 UNKNOWN
1 aaaa
2 bbbbb
3 ccccc
4 ddddd
5 eeee.
このような。すべてを取得するには、model_nos
次のようなクエリを使用できます
select modal_no from Mobile
where modal_no in(select value from Modal) or model_no = 0
しかし、ここではモデルテーブルにある説明も何ですか。誰でも助けることができますか?
このMobileテーブル(Hibernate Mobileクラス)にはModelテーブル(hibernate Modelクラス)への参照がないことを述べたので、返信ありがとうございます。Mobile クラスの Model への参照がある場合、あなたの答えは 100% 正しいでしょう。私の Mobile クラスでは、この model_no は整数値です。hql でクエリを使用すると、「期待されるパス」のような例外が発生します。Hql(またはsql)クエリで値0の出力を取得したい。私の休止状態のモバイルクラスはこのようなものです
class Mobile {
int id;
int model_no; // this model_no has 0 + modal_no values(1,2,3,12,42).
// some references like
Manufacture manf;
SerialNo serialno;
Customer cust;
getters and setters
}
私のHibernate Modelクラスは...
class Model{
int id;
String description;
int value; this column has 1,2,3,12,42. it don't have 0.
setters and getters.
}