如何将默认值发送到基于 CriteriaBuilder 构造函数的选择字段?
How can I send default value to CriteriaBuilder constructor based selection field?
我正在使用 JPA CriteriaBuilder
创建查询并使用构造函数基础选择。但就我而言,我想要特定参数(虚拟)的一些默认值。但该参数不是 table 列。
有什么办法可以实现吗?
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<HEntity> cq = cb.createQuery(HEntity.class);
Root<HTable> root = cq.from(HTable.class);
// original selection criteria
// build result set class
cq.select(cb.construct(HDto.class,
root.<Long>get("id"),
root.<Date>get("datetime"),
root.get("device")
)
有什么方法可以实现如下?
// build result set class
cq.select(cb.construct(HDto.class,
root.<Long>get("id"),
root.<Date>get("datetime"),
root.get("devicename"),
"default value"
)
Expression<String> localExp = cb.literal("My String");
请查看下面的 Oracle 文档 link
http://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaBuilder.html#literal(T)
我正在使用 JPA CriteriaBuilder
创建查询并使用构造函数基础选择。但就我而言,我想要特定参数(虚拟)的一些默认值。但该参数不是 table 列。
有什么办法可以实现吗?
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<HEntity> cq = cb.createQuery(HEntity.class);
Root<HTable> root = cq.from(HTable.class);
// original selection criteria
// build result set class
cq.select(cb.construct(HDto.class,
root.<Long>get("id"),
root.<Date>get("datetime"),
root.get("device")
)
有什么方法可以实现如下?
// build result set class
cq.select(cb.construct(HDto.class,
root.<Long>get("id"),
root.<Date>get("datetime"),
root.get("devicename"),
"default value"
)
Expression<String> localExp = cb.literal("My String");
请查看下面的 Oracle 文档 link http://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaBuilder.html#literal(T)