springboot jpa Query使用原生SQL例子--测试通过

    private EntityManagerFactory emf;

    @PersistenceUnit//使用这个标记来注入EntityManagerFactory
    public void setEntityManagerFactory(EntityManagerFactory emf) {
        this.emf = emf;
    }

    @Test
    public void test(){
        EntityManager em = emf.createEntityManager();
        //加了这句就不会报错
       em.getTransaction().begin();
        Query query = null;
        //定义SQL,可以多个表关联查询
        String sql = "SELECT * FROM USER WHERE ID=?1";
        //创建原生SQL查询QUERY实例
        query =  em.createNativeQuery(sql);
        query.setParameter(1, "2014344154");
        //执行查询,返回的是对象数组(Object[])列表,
        //每一个对象数组存的是相应的实体属性
        List objecArraytList = query.getResultList();
        for(int i=0;i//使用obj[0],obj[1],obj[2]...取出属性             
            System.out.println("id = " + obj[0]);
            System.out.println("name = " + obj[1]);
            System.out.println("age = " + obj[2]);
               
        }
        em.close();
    }

你可能感兴趣的:(springboot,jpa)