Hibernate操作没有主键的表

          首先对于没有主键的表,要生成ORM映射的话,需要用复合主键,具体请点击 复合主键


这里想说的demo是不用生成ORM映射,通过hibernate操作表。关于建表和vo请参考复合主键链接

下面说说具体的实现方法。

package com.lc.demo.dao;


import java.util.List;


import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.junit.Test;


import com.lc.demo.hibernate.HibernateSessionFactory;
import com.lc.demo.vo.Demo;






public class DemoDAO  {


@Test 
public void query()
{



Session session = HibernateSessionFactory.getSession();


//原生态sql语句
 String sql = "select *  from person_demo ";
 //此处的name和age是表中的字段名称,通过addScalar(arg0, arg1)方法实现
 List ls = session.createSQLQuery(sql).addScalar("name",Hibernate.STRING)
                                                 .addScalar("age",Hibernate.INTEGER)
                                                 .list();
            if(ls.size()!=0)
                {
                    for(int i=0;i<ls.size();i++)
                        {
                            Object[] obj = (Object[])ls.get(i);
                                for(int j=0;j<obj.length;j++)
                                    {

                                        System.out.println(obj[j].toString());
                                    }
                        }
                }

}


}

获取到集合后,可以将集合中的每一个对象取出,转化成Object数组类型,然后将数组中的每个元素通过vo中的set方法赋给对象对应的每个属性。

你可能感兴趣的:(没有主键,不用ORM,addScalar()方法)