0

次の基準があります。HQL を使用したいので、以下の基準を HQL に変換する方法を教えてください。

public List<tttBook> findtooks() {

            List<tttBook> tooks =null;
            Criteria criteria = session.createCriteria(tttBook.class);
            ProjectionList proList = Projections.projectionList();
            proList.add(Projections.property("Id"));
            proList.add(Projections.property("longName"));
            tooks = criteria.list();
            return tooks;

        }

また、この上記の基準で何が間違っているのか教えてください。現在、オブジェクトのすべての属性を取得していて、多くの時間がかかるため、投影の実装に問題があると思います。

4

2 に答える 2

0

多分このようなもの

public List<tttBook> findtooks() {
    Session s = HiberUtil.getSessionFactory().openSession();
    List<tttBook> tooks =new ArrayList<tttBook>;
    List result = session.createQuery("select a.Id, a.longName from tttBook t").List();
    for(int i =0; i< result.size();i++){
        Object[] objects = result.get(i);
        tttBook t = new tttBook();
        t.setId(objects[0]);
        t.setLongName(objects[1]);
    tooks.add(t);
    }

    return tooks;

}
于 2013-08-04T09:57:12.117 に答える