CriteriaQuery中的bug问题
CriteriaQuery中的map和ordermap都是static的,这两个属性使用static不合适吧。首先,程序高并发时,两个属性在线程安全方面无法保证。
其次,在CriteriaQuery的几个构造方法中,并不是每一个构造方法都会重新给map或者ordermap重新赋值。造成当调用addOrder方法时,或者出现空指针异常,或者在检索时使用了其他实体的字段作为排序字段而出现错误。
虽然提供了clear方法,但是这个方法并无法保证开发人员一定会调用,且即使开发人员会调用,也会因为多线程并发问题而造成的bug。
页:
[1]