Select * from Table A left join Table B on A.id=B.id and A.langCode='IN';
其中“in”是来自用户的输入。
Select * from Employee Emp left outer join Employee_Lang EmpLang on Emp.EMP_ID=EmpLang.EMP_ID AND EmpLang.LANG_CODE='IN'
我只从hibernate中的两个表中映射了Emp_Id作为主键,因此hibernate条件将只对该表应用联接,而不对Langcode应用联接。
注意:-我不能更改hibernate映射,只能使用hibernate标准,根据客户的要求,请帮助我。
例如,您有两个模型:
@Entity
class Employee {
@Id
private Long id;
@OneToOne
private EmployeeLang employeeLang;
...
}
@Entity
class EmployeeLang {
@Id
private Long id;
private String langCode;
@OneToOne
private Employee employee;
...
}
您应该在它们之间进行一些映射,然后可以执行下一个标准:
Criteria criteria = session.createCriteria(Employee.class);
criteria.createAlias("employeeLang", "empLang"); // inner join with EmployeeLang
criteria.add(Restrictions.eq("empLang.langCode", "in");
List<Employee> employees = criteria.list();
我有一个索引,其中一些文档有一个名为“access_type”的字段。它可以有两个值,要么是“教师”,要么是“学生”。对于“access_type”的值为“afully”的文档,将有另一个名为“faculties”的字段,这是一个学院名称列表。因此,一个示例文档如下所示: 现在,如果我们有两个输入,比如说一个用于access_type,另一个用于facculties。如果我得到以下输入“facul
问题内容: 我有一个用于Elasticsearch的简单JSON查询,如下所示: 仅当值(在这种情况下为“ a1”)不为空时,才如何执行第二个“必须”条件? 问题答案: 您可以使用以下方法实现它-
我有一个sql查询: 这就产生了: Hibernate:选择this_.pName为y0_,this_.kNum为y1_,count(distinct this_.agentg)为y2_from Test_CPView this_where(低(this_.pName+“~”+this_.kNum)like?或低(this_.pName+“~”+this_.kNum)like?或低(this_.p
但却有例外…
问题内容: 我正在使用MySQL,并且想在SQL中执行一种三元语句,例如: 结果将类似于: 如何做到这一点? 问题答案: