浏览 1975 次
锁定老帖子 主题:one-to-one延迟加载问题
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-26
宿主表配置: <class name="BaseInfo" table="BaseInfo" lazy="true"> <id name="Id" type="java.lang.Long"> <column name="ID" precision="30" scale="0" /> <generator class="native"></generator> </id> ..... <one-to-one name="Address" class="cn.com.ctsi.xapc.model.DeputyAddress" constrained="true" fetch="select" lazy="proxy"/> 从表配置: <class name="Extension" table="Extension" lazy="true"> <id name="Id" type="java.lang.Long"> <column name="ID" precision="30" scale="0" /> <generator class="foreign"> <param name="property">BaseInfo</param> </generator> </id> <one-to-one name="BaseInfo" class="BaseInfo" constrained="true" /> ... 在检索中, 使用session.createQuery("from BaseInfo") 的方式检索,没有出现N+1查询。 但是当取得一个宿主对象后,通过它获得其从属属性时,宣告失败, 即,无法这样获得:baseInfo.getExtension() 一个从表属性。 请问如何获得才能通过baseInfo实例获得 Extension实例? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-26
你没有为类BaseInfo配置Extension属性,它怎么可能会加载该属性呢?
|
|
返回顶楼 | |
发表时间:2008-03-27
配置了属性。
谢谢楼上, 不过问题已经解决。 关键问题是web.xml需要设置这样过滤: <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
|
返回顶楼 | |