弹簧规格标准多重连接?怎么样?

时间:2016-04-01 23:22:47

标签: spring join criteria specifications

我使用Spring Data with Spring Data + specification + criteria api。

我将尝试使用我们使用的一般实体来模拟这种情况,以获得简单的示例。

实体: 考虑每个实体的所有属性都在下面显示的构造函数上传递

国家/地区(长ID,字符串名称,字符串iso)
状态(长ID,字符串名称,字符串iso)
城市(长ID,字符串名称,字符串iso)

这是我的存储库:

dataSet.setDrawFilled(true);

如您所见,我不需要在存储库中实现任何内容

这是我的服务

            LineDataSet dataSet = new LineDataSet(yVals, "");

            dataSet.setDrawFilled(true);
            dataSet.setFillAlpha(255);
            dataSet.setFillColor(ctx.getResources().getColor(R.color.blue_primary_color));

1 个答案:

答案 0 :(得分:0)

假设您希望所有城市的国家/地区名称都为name,并且您拥有关系模型,其中:

Country(Long id, String name, String iso)
State(Long id,Long country, String name, String iso)
City(Long id, Long state, String name, String iso)

<强>谓词:

private static Specification<City> fillGridCriteria(String name) {
    return new Specification<City>() {

        @Override
        public Predicate toPredicate(
                Root<City> root,
                CriteriaQuery<?> query,
                CriteriaBuilder builder) { 

          return 
            builder.like(root.get("state").get("country").get("name"), name.trim());
        }

    };
}