我正在使用命名查询从使用 JPA 和 Hibernate 的数据库中获取实体,我遇到了一些令我困惑的事情:为什么没有javax.persistence.Parameter
接口的默认实现?
CriteriaBuilder 在 JPA2 中的使用方式给我留下了深刻的印象,@StaticMetamodel
这意味着我获得了类型安全,并且不必为名称设置字符串。我想应用类似于我目前正在研究的一些 JPA1 EJB 的东西:
Dealergroup_.class:
public Dealergroup_
{
public Parameter<Integer> id = new ParameterImpl<Integer>("id");
/// etc...
}
DealergroupFacade.class:
// ...
public Dealergroup fetch(Integer id)
{
TypedQuery<Dealergroup> query = em.createNamedQuery("Dealergroup.fetchById", Dealergroup.class);
query.setParameter(Dealergroup_.id, query);
return query.getSingleResult();
}
// ...
我惊讶地发现没有 Parameter 接口的实现——当然,我可以很容易地自己实现它,因为它们的缺席让我怀疑以这种方式使用它可能是一个错误?
我应该实施参数吗?有什么想法为什么没有现成的实现以及为什么我找不到很多(任何,真的)它的使用示例?