休眠:使用条件按列表过滤

Gut*_*gao 4 java hibernate criteria

我有一个博士实体.每位医生都有一份HealthInsurance列表,这是另一个实体.

我的目标是建立一个基于用户选择的HealthInsurance的搜索系统.我必须让所有在用户健康保险清单中包含至少1个HealthInsurance的医生.像这样的东西:

Criteria criteria = session.createCriteria(Doctor.class);
criteria.add(Restrictions.in("healthInsurances", userHealthInsurances));
return criteria.list();
Run Code Online (Sandbox Code Playgroud)

但是这段代码抛出了以下异常:java.sql.SQLException:没有为参数1指定值.

有没有办法使用Criteria这样做?

Ean*_*n V 5

Criteria criteria = session.createCriteria(Doctor.class);
criteria.createCriteria("healthInsurances").add(Restrictions.in("id", userSelectedIds));
return criteria.list();
Run Code Online (Sandbox Code Playgroud)

您可以通过相同的功能获得createAlias.有关更多示例,请查看内容.