【发布时间】:2011-12-21 11:21:03
【问题描述】:
域名说明
我正在使用
Spring + Hibernate + Tukey Urlrewrite
在 Spring 框架 Web 应用程序中。
我有一个简单的数据结构
特别有 1:Many Image 对象
我使用的是网址中的语言:http://site.com/en/someview 或http://site.com/de/someview 等等
还有一个默认的url:http://site.com/
我正在使用 Tucky Urlrewrite 将网址从http://site.com/en/someview 重写为http://site.com/someview?lang=en
以便为页面选择正确的语言
(我这样做是为了让用户只需更改 url 中的语言并让网站相应地更改语言)
我正在默认控制器中加载特殊对象
我将 Special 对象传递给视图并在那里加载图像。
问题描述
点击http://site.com/ 时,一切正常。查看土耳其的日志,它没有进行任何重写。
当点击http://site.com/en/ 或http://site.com/de/ 时,我感到害怕
"未能延迟初始化角色集合"
我可以证明 Tuckey Urlrewrite 存在一些问题,因为当我在地址栏中输入“重写”的 url 时,它们可以工作,甚至可以一起删除 Tuckey Urlrewrite。
我已经尝试了以下
- 在控制器中加载图像 - 不起作用
- 使用 OpenEntityManagerInViewInterceptor -- 不起作用
- 使用 Tuckey 的调度程序 REQUEST/FORWARD -- 不起作用
- 使用 Tuckey 的 type="redirect" -- 确实有效,但按预期重定向了浏览器
- 使用 OneToMany 属性的 fetch=FetchType.EAGER - 有效(但从长远来看并不理想)
我愿意接受所有关于删除使用 FetchType.EAGER 的建议。
我的一些想法是
- Url重写的不同方法,即是否可以设置tomcat在DispachFilter之前处理重写
- 不同的 urlrewriter 即不同的产品,或内部 Spring URL Rewriter
我读过的网站
- Why Doesn't Tuckey UrlRewrite Filter call chain.doFilter after a rule is matched?
- Hibernate lazy initialization exception(很有希望,但没有任何效果)
- Hibernate (JPA) how to do an eager query, loading all child objects(终于放弃使用EAGER)
真的会非常感谢任何提示
亚当
【问题讨论】:
标签: hibernate spring-mvc tuckey-urlrewrite-filter