如何动态地转换查询对象?

时间:2017-10-03 06:31:21

标签: java spring hibernate

根据hibernate标准,我得到了独特的结果。

  Criteria criteria=session.createCriteria(basepackagePath+this.castingClass);
  criteria.add(Restrictions.eq("ClassName", className));
  (this.castingClass)criteria.uniqueResult();

问题:无法投射criteria.uniqueResult()&#39的结果。

我尝试了什么

  1. 我提到了要投出的完整包裹路径

  2. 尝试使用this.castingClass字符串获取课程但未发生

  3. 请建议如何使用保存对象名称的String动态转换对象。

1 个答案:

答案 0 :(得分:0)

您可以使用criteria.uniqueResult() - 方法生成动态cast结果。

Criteria criteria=session.createCriteria(basepackagePath+this.castingClass);
criteria.add(Restrictions.eq("ClassName", className));
Class.forName(this.castingClass).cast(criteria.uniqueResult());