zoukankan      html  css  js  c++  java
  • hibernate-命名查询

    命名查询语句是在映射文件中定义字符串形 式的查询语句

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping>
        <class name="entity.Emp" table="EMP" schema="RENT" >
            <id name="empno" type="java.lang.Short">
                <column name="EMPNO" precision="4" scale="0" />
                <generator class="assigned" />
            </id>
            <!-- 一方有多方的对象 --><!--inverse=false默认false,是关联关系的主动方  -->
            <many-to-one name="dept" class="entity.Dept" fetch="select" >
                <column name="DEPTNO" precision="2" scale="0" />
            </many-to-one>
            <property name="ename" type="java.lang.String">
                <column name="ENAME" length="10" />
            </property>
            <property name="job" type="java.lang.String">
                <column name="JOB" length="9" />
            </property>
            <property name="mgr" type="java.lang.Short">
                <column name="MGR" precision="4" scale="0" />
            </property>
            <property name="hiredate" type="java.util.Date">
                <column name="HIREDATE" length="7" />
            </property>
            <property name="sal" type="java.lang.Double">
                <column name="SAL" precision="7" />
            </property>
            <property name="comm" type="java.lang.Double">
                <column name="COMM" precision="7" />
            </property>
        </class>
        <query name="findEmpByJob">
        <![CDATA[
            from Emp e where e.job = :job
        ]]>
        </query>
        <!-- <sql-query name="selectEmpByJob">
            <return alias="e" class="entity2.Emp"/>
            select {e.*} from EMP e where e.job = :job
        </sql-query>
        <sql-query name="selectEmpByJobJoinDept">
            <return alias="e" class="entity2.Emp"/>
            <return-join alias="d" property="e.dept"></return-join>
                select {e.*},{d.*} from EMP e join DEPT d on d.DEPTNO=e.DEPTNO where e.JOB = :job
        </sql-query> -->
    </hibernate-mapping>
    package Test;
    
    import static org.junit.Assert.*;
    
    import java.util.List;
    
    import org.hibernate.Session;
    import org.junit.Test;
    
    import entity.Emp;
    
    import util.HibernateSessionFactory;
    
    public class NamedQuery {
    
        @Test
        public void test() {
            Session session=HibernateSessionFactory.getSession();
            try {
                List<Emp> list = session.getNamedQuery("findEmpByJob").setParameter("job", "SALESMAN").list();
                for (Emp emp : list) {
                    System.out.println(emp.getEname()+"	"+emp.getDept().getDname());
                }
            } catch (Exception e) {
                e.printStackTrace();
                
            }finally{
                session.close();
            }
            
        }
    
    }
  • 相关阅读:
    刷题-力扣-541. 反转字符串 II
    刷题-力扣-515. 在每个树行中找最大值
    刷题-力扣-513. 找树左下角的值
    刷题-力扣-404. 左叶子之和
    刷题-力扣-257. 二叉树的所有路径
    刷题-力扣-226. 翻转二叉树
    刷题-力扣-236. 二叉树的最近公共祖先
    刷题-力扣-235. 二叉搜索树的最近公共祖先
    刷题-力扣-145. 二叉树的后序遍历
    扛把子组2018092609-2 选题 Scrum立会报告+燃尽图 06
  • 原文地址:https://www.cnblogs.com/sincoolvip/p/6036196.html
Copyright © 2011-2022 走看看