我正在使用 Hibernate 和 PostgreSql。在休眠中,我有两个类,例如:
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
但这里我的描述也在模型表中。有人可以帮忙吗?
谢谢你的回复,正如我提到的这个移动表(Hibernate Mobile 类)没有参考模型表(在休眠模型类中)。如果我在 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
}
我的休眠模型类就像......
class Model{
int id;
String description;
int value; this column has 1,2,3,12,42. it don't have 0.
setters and getters.
}