EJB3.0中怎么一个类调用另外一个类的方法

我做得的是struts+ejb3.0,在EJB中我想用BIZ调用dao,是直接New还是有别的方法。。。求大神指教。。。。。
这是BIZ的方法
public List queryPet(String pelName,String pelZr,String pelType ,String px) {
System.out.println("aaaaaaaaaaaaaaaaaaaa");
IDao dao=new IDaoImpl();
System.out.println("bbbbbbbbbbbbbbbbbbbbb");
String hql=" from Pet ";
if(!pelName.equals("")){
hql+=" and petName='"+pelName+"'";

    }
    if(!pelZr.equals("")){

        hql+=" and petZr='"+pelZr+"'";
    }
    if(!pelType.equals("-1")){

            hql+=" and petClass='"+pelType+"'";



    }

    if(!px.equals("-1")){

        hql+=" order by "+px+" ";


    }
    System.out.println("hql:"+hql);
    List<Pet> pets=dao.queryPet(hql);
    return pets;
}

  这是dao被调用的方法


public class IDaoImpl implements IDao{
@PersistenceContext
private EntityManager em; 
public List<Pet> queryPet(String hql) {
    System.out.println(hql);
    Query query=em.createQuery(hql);
    return query.getResultList();

}

}

都是用的无状态的远程调用

谢谢