强制休眠不检索完整对象

时间:2017-04-19 06:25:56

标签: java hibernate hibernate-mapping

我在工作中得到了一个任务,我必须使用hibernate和一些映射到视图的类。任务说,我应该在一个视图上创建一个选择,它不返回类的完整对象,而是一个只初始化类的一些属性的对象。我首先考虑创建一个只将这些字段作为参数的构造函数,但是我无法在Web上找到任何解决方案,这可以保持两种可能性(类的一部分和完整的类)。任何建议都是受欢迎的。如果您需要任何代码或进一步解释,请提出要求。

2 个答案:

答案 0 :(得分:1)

您可以创建jpql查询或使用条件api来选择所需的属性。

JPQL教程是http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html

标准是http://docs.oracle.com/javaee/6/tutorial/doc/gjivm.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。