最近看公司高手写的代码,不知道为什么要这样写,请问一下

public static List getReadyTask() {
return PersistentLogic.find("FROM Task t WHERE (t.status=? or (t.status=? and t.dataType=?)) and t.wantDate<? ORDER BY t.status",
new Object[] {
TaskStatus.READY.getName(), TaskStatus.SENDING.getName(),
DataType.NO_DATA.getName(), new Date()
},
new Type[] {
Hibernate.STRING, Hibernate.STRING, Hibernate.STRING,
Hibernate.TIMESTAMP
});
}

本意是用hibernate从表中取指定状态的记录,如果我写的话,可能就这样了
总觉的这样看很不爽,是我菜吧
TaskStatus.READY.getName(), 这样是干嘛?
如果是我,我就这样写了
TaskStatus.READY
TaskStatus.READY的定义就是

TaskStatus.READY=1

是写的不好,这玩艺和存储过程语句有什么区别啊?不喜欢。

您的意思是说在代码中直接这样使用hibernate不好是吗?应该要把hibernate封装一下吗?

DO NOT CARE MUCH ABOUT THAT.
YOUR SHOULD HAVA YOUR STYlE.

喔,多谢

其实他这段代码很简单,他硬要将参数揣在一堆!
我很讨厌这样得人,他这样写得话,系统将产生一大堆垃圾,影响性能

这样的代码,在做代码审查的时候根本过不了,他不是什么真正的高手,只能算是伪高手(那种一味追求代码的复杂度的人)

把hibernate写成这样 也算是极品乐