hibernate

-- select  后面没有加别名java

Encountered a duplicated sql alias [id] during auto-discovery of a native-sql querynode

-- 看看数据库是否没有这个columnsql

could not extract ResultSet数据库

=====================================================================================================session

session.createQuery(queryStr).list();  //hql
session.createSQLQuery(queryStr).list();  //普通sqlide

========================================================================spa

hibernate 左链接:hibernate

@Test
    public void testLetfJion() {
        Session session = sessionFactory.getCurrentSession();
        session.beginTransaction();
        String queryStr = "select stu from com.bjsxt.hibernate.Student as stu left join com.bjsxt.hibernate.Teacher as te on stu.id = te.id";
        session.createQuery(queryStr).list();
        session.getTransaction().commit();
    }

报错:java.lang.IllegalStateException: DOT node with no left-hand-side!code

正确写法:blog

    @Test
    public void testLetfJion() {
        Session session = sessionFactory.getCurrentSession();
        session.beginTransaction();
        String queryStr = "select stu from com.bjsxt.hibernate.Student as stu ,com.bjsxt.hibernate.Teacher as te where stu.id = te.id";
        session.createQuery(queryStr).list();
        session.getTransaction().commit();
    }

============================================================================================

IN适合于外表大而内表小的状况;EXISTS适合于外表小而内表大的状况。

相关文章
相关标签/搜索