该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-31
非常赞同使用getClass()==getClass()做比较,看了你推荐的帖子后,正有此意!!
简单且相对了instanceof更合理,但又不用反射每个属性那么耗性能 |
|
返回顶楼 | |
发表时间:2009-05-31
linliangyi2007 写道 还有一件事不明白,就是我在跟踪的时候,就像你说的this.id是有值的,但other.getId()依然返回null。 你上面说的,我基本明白了,直接取属性有问题,但通过get方法取id,应该要返回值才是啊? 通过你现在给的一些条件,很难判断为什么other.getId()依然返回null。毕竟token的所有getter,setter,都已经被hibernate代理了,cglib实现了suround级的方法代理,hibernate可以去调super的对应方法,也可以不调,取决于他的实现,现在需要确定几个事情: 1)token和你跟踪到的equels方法里的other是否同一个对象?如果是,没道理other.getId()为null呀,你在外面已经print一次token.getId()了。 2)other.getId()是否调了super.getId();这个通过你在getId设置断点就可以知道,你所设的断点,我前面也说了都是针对super类的。 |
|
返回顶楼 | |
发表时间:2009-05-31
leadyu 写道 linliangyi2007 写道 还有一件事不明白,就是我在跟踪的时候,就像你说的this.id是有值的,但other.getId()依然返回null。 你上面说的,我基本明白了,直接取属性有问题,但通过get方法取id,应该要返回值才是啊? 通过你现在给的一些条件,很难判断为什么other.getId()依然返回null。毕竟token的所有getter,setter,都已经被hibernate代理了,cglib实现了suround级的方法代理,hibernate可以去调super的对应方法,也可以不调,取决于他的实现,现在需要确定几个事情: 1)token和你跟踪到的equels方法里的other是否同一个对象?如果是,没道理other.getId()为null呀,你在外面已经print一次token.getId()了。 2)other.getId()是否调了super.getId();这个通过你在getId设置断点就可以知道,你所设的断点,我前面也说了都是针对super类的。 十分感谢,思路已经清楚了。后面就是沿着思路把问题摸清楚了 |
|
返回顶楼 | |
发表时间:2009-05-31
到底原因是什么呢,既然搞清楚了,为何不写写清楚?
|
|
返回顶楼 | |
发表时间:2009-05-31
jianfeng008cn 写道 到底原因是什么呢,既然搞清楚了,为何不写写清楚?
楼主只是说思路清楚了,估计还没开始调试呢。 |
|
返回顶楼 | |
发表时间:2009-06-02
leadyu 写道 linliangyi2007 写道 还有一件事不明白,就是我在跟踪的时候,就像你说的this.id是有值的,但other.getId()依然返回null。 你上面说的,我基本明白了,直接取属性有问题,但通过get方法取id,应该要返回值才是啊? 通过你现在给的一些条件,很难判断为什么other.getId()依然返回null。毕竟token的所有getter,setter,都已经被hibernate代理了,cglib实现了suround级的方法代理,hibernate可以去调super的对应方法,也可以不调,取决于他的实现,现在需要确定几个事情: 1)token和你跟踪到的equels方法里的other是否同一个对象?如果是,没道理other.getId()为null呀,你在外面已经print一次token.getId()了。 2)other.getId()是否调了super.getId();这个通过你在getId设置断点就可以知道,你所设的断点,我前面也说了都是针对super类的。 一切水落石出了。 在equals方法中,this对象的类是FlowToken,而other对象的类是proxy。this.id是有值的,other.id为null,但使用other.getId()是会取到lazy的id值的(之前估计这里测试的时候有问题,居然没取到值。) 一切如leadyu所预测的那样。 |
|
返回顶楼 | |
发表时间:2009-06-02
再说对于帖子标题的看法!
本人一直认为在互联网上的,在BBS上一切都不必太较真。那种拘泥于标题,拘泥于网络形式,而忽视文章内容的做法,不敢苟同。 现在标题改了,算是迎合网络部分较真人士的观念吧! 做人难,现实生活累人,没想到上个bbs现在也很累人! |
|
返回顶楼 | |