小弟用Myeclipse自动生成的Hibernate代码,包括**DAO.java的代码
LicenceDAO.java定义如下
[code="java"]
public class LicenceDAO extends BaseHibernateDAO{
private static final Log log = LogFactory.getLog(LicenceDAO.class);
public static final String SITENAME = "sitename";
public static final String SITEDOMAIN = "sitedomain";
public static final String ICP = "icp";
public List getAllLicence() {
log.debug("get all Licence ok");
try {
Query queryObject = getSession().createQuery("from Licence");
return queryObject.list();
} catch (RuntimeException re) {
log.error("get all Licence failed", re);
throw re;
}
}
[/code]
测试代码testLicenceDAO.java
[code="java"]
public static void main(String args[]) {
SessionFactory sf = new Configuration().configure()
.buildSessionFactory();
try{
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
LicenceDAO licenceDAO = new LicenceDAO();
List list = licenceDAO.getAllLicence();
Iterator it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}catch(HibernateException e){
e.printStackTrace();
}finally{
sf.close();
}
}
[/code]
结果控制台输出的是如下:
cn.pdo.Licence@987a33
cn.pdo.Licence@118d189
cn.pdo.Licence@648016
cn.pdo.Licence@1551b0
但是其实数据库里面内容不是这样的
请问这个怎么回事啊
没有用到Spring
无语啦!
控制台输入的是对象,Licence是你配置的实体类,比如说Licence类里有个name属性,你可以通过it.next().name输出这个属性
查询的结果返回的List中
装的是对象,也就是pojo类(orm.xml对应的那个类)
你想要的数据,全部封装在这个类中,list中装的每一个类代表数据库对应表中的一条记录。