首先,谢谢两位
能不能有什么解决方案呢?
我的实体类都是用hibernate生成的
[code="java"]
1.class A{
2. private B b;//转换之前把集合内的A对象的B属性都设置为NULL 我试过,可以解决
3.}
[/code]
就这样的解决办法么?
但是 我的疑问是 DWR对于这样的转换什么没有什么问题的
那DWR是如何做到的呢?
我能不能在代码中调用DWR中的某些方法来实现这样的转换呢?
[b]问题补充:[/b]
首先,谢谢两位
能不能有什么解决方案呢?
我的实体类都是用hibernate生成的
[code="java"]
1.class A{
2. private B b;//转换之前把集合内的A对象的B属性都设置为NULL 我试过,可以解决
3.}
[/code]
就这样的解决办法么?
但是 我的疑问是 DWR对于这样的转换什么没有什么问题的
那DWR是如何做到的呢?
我能不能在代码中调用DWR中的某些方法来实现这样的转换呢?
[b]问题补充:[/b]
首先,谢谢两位
能不能有什么解决方案呢?
我的实体类都是用hibernate生成的
[code="java"]
1.class A{
2. private B b;//转换之前把集合内的A对象的B属性都设置为NULL 我试过,可以解决
3.}
[/code]
就这样的解决办法么?
但是 我的疑问是 DWR对于这样的转换什么没有什么问题的
那DWR是如何做到的呢?
我能不能在代码中调用DWR中的某些方法来实现这样的转换呢?
[b]问题补充:[/b]
首先,谢谢两位
能不能有什么解决方案呢?
我的实体类都是用hibernate生成的
[code="java"]
1.class A{
2. private B b;//转换之前把集合内的A对象的B属性都设置为NULL 我试过,可以解决
3.}
[/code]
就这样的解决办法么?
但是 我的疑问是 DWR对于这样的转换什么没有什么问题的
那DWR是如何做到的呢?
我能不能在代码中调用DWR中的某些方法来实现这样的转换呢?
呵呵,首先不是两位,是一个人。。
这个肯定是可以的!我没用过几次DWR,这个你要去看DWR的源码,数据从处理类A{}到前台JS肯定有个转换过程,中间过的那个servlet,里面肯定有转换过程,至于哪个servlet,肯定是在web.xml中有配置的,servlet调用的那个处理类A{},从那里看起,进入那个servlet,(肯定是发射SO)搜索class.forName,找到之后,你应该知道咋搞了,找到转换处,找到DWR方法,直接用。
转换A--->开始转换B---->开始转换SET--->转换A,死循环。
你的意思无非就是
[code="java"]
class A{
private Set a;
}
[/code]
一个A对应多个A,而且这些A不是重复的。
我大概明白了你的意思。
比如A是主键,我这样来理解吧,然后A还和其他主键有关系。也就是说有另外一个表B,专门存放映射关系了。
A A1
A A2
A1 A
……
一对多了。
楼主,你想哦,要转换A就要转换A1,要转换A1,又要转换A- -。
这谁也实现不了啊。
因为你用的是A关联,用的面向对象。
你还是用原生的关系数据库吧。用A.id关联,这样不会再循环到下一个A了。也就是说你在类里看不出A和B的关系了。
private A{
private id;
private set idSet;//不要用A,进入死循环了
}
造成你上述的死循环,也许是因为,你是双向映射,什么是双向,就是你独立了一张表做映射关系才能做到的。
比如:
A NULL;
A1 A;
A2 A;
这样A还是跟A1,A2有关系,但是只能从A1、A2找到A。常见为树形结构,A为跟节点,A1,A2为子节点。这样的话,A1转化,要转A,A转换,NULL了。会有结束的时候。
根据你具体需要吧,如果是要双向映射,就用关系型表示了。用