Hibernate Entitymanger.createNativeQuery中的SQL查询
我是hibernate JPA的新手 我可以像下面这样直接在Entitymanger.createNativeQuery.createNativeQuery中使用SQL查询吗Hibernate Entitymanger.createNativeQuery中的SQL查询,hibernate,jpa,Hibernate,Jpa,我是hibernate JPA的新手 我可以像下面这样直接在Entitymanger.createNativeQuery.createNativeQuery中使用SQL查询吗 Query q = em.createNativeQuery( "select * from dbo.TGEO_PARM_VALUE where PARM_DEF_UID= (select PARM_DEF_UID from dbo.TGEO_PARM_DEF wh
Query q = em.createNativeQuery(
"select * from dbo.TGEO_PARM_VALUE where PARM_DEF_UID= (select PARM_DEF_UID from dbo.TGEO_PARM_DEF where PARM_KEY_NM='VRSN_CHG_MOD_CD')");
否则,我必须在查询中使用映射到表的实体,而不是直接的表名
另外,请指导我如何从q.getResultList中检索数据。您可以像这样使用本机SQL,要映射结果,您只需创建一个类,如果您还没有一个类的字段与您在SELECT子句中指定的返回列相匹配,并在createNativeQuery调用中传递它
仅在绝对需要时使用本机查询。例如,当您需要一些ORM本机不支持的底层数据库功能时,才使用本机查询。否则,如果一切都是使用本机查询完成的,那么使用ORM就没有意义了。
Query q = em.createNativeQuery("select * from dbo.TGEO_PARM_VALUE where PARM_DEF_UID= (select PARM_DEF_UID from dbo.TGEO_PARM_DEF where PARM_KEY_NM='VRSN_CHG_MOD_CD')", MyClass.class);