论坛首页 Java企业应用论坛

JPA怎么配置做到多对一单向关联查询

浏览 5074 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-04-10  
@Entity
@Table(name = "ORDER_INFO")
public class OrderInfoVo implements Serializable {
        @ManyToOne
	@JoinColumn(name = "USR_ID")
	private UsrInfoVo usrInfoVo;
        ......
}

如上段代码,我想在查询OrderInfoVo某个实体对象时,想把它关联的整个UsrInfoVo也查询出来,而不仅仅是usrId
   发表时间:2012-04-10  
有没有注解配置的方法
0 请登录后投票
   发表时间:2012-04-10  
求解啊大神们
0 请登录后投票
   发表时间:2012-04-10  
倒,你查到了OrderInfoVo, 然后getUsrInfoVo(),不就出来了。
0 请登录后投票
   发表时间:2012-04-10   最后修改:2012-04-10
select model from OrderInfoVo model where model.UsrInfoVo.***.*** = ?

model.UsrInfoVo.***.***意思是你可以一直点下去
0 请登录后投票
   发表时间:2012-04-12  
晕,manytoone ,饥渴加载方式下,在你家在order,会自动加载user,懒加载情况下,要保证两次调用在同一个事务范围内,也可以照常加载!!!
0 请登录后投票
   发表时间:2012-04-12  
默认情况下, 直接get就行了吧, 除非你是延迟加载, 但entityManager没关闭你一样可以继续get出整个UsrInfoVo对象
0 请登录后投票
   发表时间:2012-04-12  
在web.xml里面配置一下 让entityManager不及时关闭,你就可以直接get到了。

<filter>
        <filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
        <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
   <init-param>
   <!-- 指定org.springframework.orm.jpa.LocalEntityManagerFactoryBean在spring配置文件中的名称,默认值为entityManagerFactory
   如果LocalEntityManagerFactoryBean在spring中的名称不是entityManagerFactory,该参数一定要指定,否则会出现找不到entityManagerFactory的例外 -->
<param-name>entityManagerFactoryBeanName</param-name>
<param-value>entityManagerFactory</param-value>
</init-param>
    </filter>
    <filter-mapping>
        <filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics