我想通过使用条件查询在Spring + Hibernate应用程序中连接两个表,但它不起作用。我在下面包含了我的表格和DAO代码。
用户表
----------------------------------------------------------
| Column | |
----------------------------------------------------------
| id | PK |
| address | |
| mobile | |
| otp | |
| password | |
| user_name | |
| user_type | |
----------------------------------------------------------
跟踪表
----------------------------------------------------------
| Column | |
----------------------------------------------------------
| id | PK |
| location | |
| product_id | |
| qrdate | |
| serial | |
| userId | FK |
----------------------------------------------------------
DAO 代码
Criteria crit = currentSession().createCriteria(QrCodeList.class);
Criteria prdCrit = crit.createCriteria("user");
prdCrit.add(Restrictions.eq("serial","F1VKCva01"));
List results = crit.list();
运行条件查询始终会引发错误。
答案 0 :(得分:0)
您需要使用别名
Criteria crit = session.createCriteria("user");
crit.createAlias("user.tracking", "tracking")
crit.add(Restrictions.eq("tracking.serial","F1VKCva01"));
List results = crit.list();
您需要拥有User
到Tracking
之间的关联。