EmployeeRepository类
CriteriaQuery<Employee> query = criteriaBuilder.createQuery(Employee.class);
Root<Employee> employee = query.from(Employee.class);
query.select(employee)
.where(employee.get("address.city").in("pune","Mumbai","Delhi"));// getting error here
员工类
class Employee {
private Long empId;
@Type(employeeCustomType)
private Address address; //this is custom type
// setter and getter
}
地址类
class Address{
private String city;
private Integer zipCode;
}
请假设我们有employeeCustomType类
有没有人有任何想法。我只是试图添加在城市参数的地址对象的where子句。使用CriteriaBuilder。
在hibernate中实现此场景的其他建议
1条答案
按热度按时间gr8qqesn1#
如果将
Address
以city:zipCode
的形式存储在varchar字段中(例如:Delhi:110001
),则以下解决方案可能会有所帮助。注意:这里的主要思想是,在构建条件时,您应该将
address
字段表示为普通字符串。