dwr转换java类的时候

一直在使用的dwr现来有这样的一个坏处,在hibernate中的关联属性one-to-many,many-to-one或set/list等等,通常都有一个lazy="true/false/proxy/extra"这样的属性,这是关联属性的延迟加载策略。如果使用dwr来转换这些类的时候,那么以上的lazy就要一律为false了,其他的好像都不行。这是因为dwr将java类转换成javascript对象的时候要立即读取java类中的所有可以转换的属性。

这样带来了性能的损失不少,有一个比较笨的方法就是先定义一个和要被dwr转换的类相似的类(属性差不多,不过没有不必要的关联属性)。这样就可以避勉转换的时候抛出initail***proxy no session这种异常了,也可以保证性能不下降,只是额外地增加了一些类。

一个比较好的办法就是将在convert节点中用<param name="include" value="id,name"/>来指定dwr转换的属性。

你可能感兴趣的:(JavaScript,java,Hibernate,DWR)