我正在尝试将一个简单的 Play/JPA 查询转换为使用标准 API。下面甚至不是我要转换的查询;这个更简单——只是想从一开始就取得成功。
我在网上找到的所有示例都希望您能够使用在类名后面附加了 _ 的类,就像我看到的休眠查询对生成的 SQL 中的表名别名所做的那样。但是,我无法让我的代码以这种方式编译,因为没有类:ExtendedHaulTrain_(但是有 ExtendedHaulTrain)
我需要向 ExtendedHaulTrain 类添加某种注释吗?也许我没有深入阅读,但到目前为止我发现的示例并没有解决附加下划线的类的问题。
这是我在最后一行编译失败的代码,特别是在 ExtendedHaulTrain_
Query query = JPA.em().createQuery("select DISTINCT(x.trnType) from ExtendedHaulTrain x");
List<String> trainTypes = query.getResultList();
//as criteria query
CriteriaBuilder cb = JPA.em().getCriteriaBuilder();
CriteriaQuery<ExtendedHaulTrain> q = cb.createQuery(ExtendedHaulTrain.class);
Root<ExtendedHaulTrain> xhtRoot = q.from(ExtendedHaulTrain.class);
q.select(xhtRoot.get(ExtendedHaulTrain_.trnType)).distinct(true);