怎么查询最近半年没有记录

我要查询最近半年没有订单的的记录,要怎么查询?
[b]问题补充:[/b]
我是要动态定时检查半年前的数据?

[b]问题补充:[/b]
道理知道啊,就是不知道怎么减,望高手详细一点。

[code="java"]
import java.util.*;

public class CalendarTest {

/**
 * @param args
 */
public static void main(String[] args) {
    //当前的时间
    Date rightNow = Calendar.getInstance().getTime();

    Calendar rightNowBefore = Calendar.getInstance();

    //得到当前日期的月份
    int rightMonth = rightNowBefore.get(Calendar.MONTH);

    //设置为半年前,也就是6个月前,减6嘛
    rightNowBefore.set(Calendar.MONTH, rightMonth-6);

    //半年前的时间
    Date beforeNow = rightNowBefore.getTime();

    System.out.println(rightNow);
    System.out.println(beforeNow);
}

}

[/code]

设计查询条件嘛,
半年前时间<data<现在时间 and 订单 is null

当前的时间你总是可以动态取得嘛,
再减半年就是半年前啊,?

计算方法:
[code="java"]
Calendar c=Calendar.getInstance();
Date today=c.getTime();
System.out.println("today is @ "+today);
c.add(Calendar.MONTH, -6);
Date halfYearBefore=c.getTime();
System.out.println("Half year before @"+halfYearBefore);
[/code]

如果使用hibernate/jpa,查询语言中,可以直接使用Date类型进行比较。
如果使用SQL,各数据库都不同之处。
先转换成字符串。
对于MySQL,可以转换成'2009-03-02 11:09'相似的格式在SQL中进行比较。
对于Oracle,可以在SQL语句用to_date将字符串转换Oracle时间格式。