我在工作中得到了一个任务,我必须使用hibernate和一些映射到视图的类。任务说,我应该在一个视图上创建一个选择,它不返回类的完整对象,而是一个只初始化类的一些属性的对象。我首先考虑创建一个只将这些字段作为参数的构造函数,但是我无法在Web上找到任何解决方案,这可以保持两种可能性(类的一部分和完整的类)。任何建议都是受欢迎的。如果您需要任何代码或进一步解释,请提出要求。
答案 0 :(得分:1)
您可以创建jpql查询或使用条件api来选择所需的属性。
JPQL教程是http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html
答案 1 :(得分:0)
您可以使用以下代码。
您可以在createQuery()中使用本机sql查询并获取您需要的参数,然后您可以在适当的类中转换结果
Query query = ((SQLQuery) getSession().createSQLQuery(
"select First_name,Last_name,email_id,.. from view_name where customer_id=:customer_id").
setResultTransformer(Transformers.aliasToBean(CustomerProfile.class))).
setParameter("customer_id", cutsomer_id)
;
List<CustomerProfile> list = query.list();
需要使用getter和setter创建CustomerProfile.class。