下面两种写法 哪种好一些?

[code="java"]
public Page getLatest(Integer pageNo, Integer pageSize, String typeCode) {
return this.pagedQuery(hql, pageNo, pageSize, typeCode);
}
[/code]
[code="java"]
public class InformationManager extends HibernateEntityDao {

private String fromHql = "from Information as i where 1=1 ";
private String andHql   =  " and i.informationtype.typecode = ?";
private String ordertimeHql = " order by i.uploadtime desc"; //按时间排序
//private String orderviewHql = " order by i.uploadtime desc"; //按浏览量排序

private String timehql = fromHql + andHql + ordertimeHql;
//private String viewhql = fromHql + andHql + orderviewHql;

/*
 * 最新本地新闻
 */
public Page getLatestNews(Integer pageNo, Integer pageSize) {
    return this.pagedQuery(timehql, pageNo, pageSize, BDXW_CODE);
}

/*
 * 最新旅游政策
 */
public Page getLatestTourPolicy(Integer pageNo, Integer pageSize) {
    return this.pagedQuery(timehql, pageNo, pageSize, LYZC_CODE);

}

/*
 * 最新旅游常识
 */
public Page getLatestTourSense(Integer pageNo, Integer pageSize) {
    return this.pagedQuery(timehql, pageNo, pageSize, LYCS_CODE);

}

}
[/code]

前面一种写法 好处是可以减少很多方法 但是要把typeCode直接暴露在action里面
[code="java"]
spotinfoManager.getLatest(1, 5, SPOT_HISTORY_CODE).getResult();
[/code]
后面一种写法 缺点是每个字段都要写一个对应的方法,那么如果增加或减少了一个字段就需要改变service了
但它不用把typeCode暴露在action里面
[code="java"]
spotinfoManager.getLatestNews(1, 5).getResult();
[/code]

想问下那种写法会好一些?或者说还有什么其他的方法吗?

当然是第一种,比较好扩展,如果,再加一种类型,是不是又要写一个方法,所以第一种好
,如果你觉得typeCode不想让人看到,也可以做代码表来转换,在外面看到的是一个伪值,然后在后台进行转换,不就是了吗.

都不好,最好把分页对象独立出来