hibernate HQL添加語句


1.H ibernate HQL添加語句 save();方法
使用HQL語句來完成插入操作是不能實現的,不管你使用insert into....values...還是insert into.....select.....都不行
原因:因為Hibernate的HQL語言是用於面向對象實現查詢功能的,
然而在插入操作中是不會牽涉任何查詢動作的,所以HQL不能用於insert語句的插入操作,而select、update、 delete語句都可以有可能的查詢實現,比如:
select語句時標准的查詢,這個就不用再說了
update語句:update 對象名 set.....where......
delete:delete from 對象名 where .....
所以,update與delete牽涉到where的查詢篩選過程,這個過程是需要采用HQL來實現的,然而insert永遠牽涉不到查詢篩選過程,所以Hibernate沒有對插入做insert實現

2.插入
2.1 springMVC下的hibernate原生sql插入:
@Override
    public void register(String userName, String passWord, String email, String address) {
        
        String sql = "insert into user(userName,passWord,email,address)values('"+userName+"','"+passWord+"','"+email+"','"+address+"')";
        getSession().createSQLQuery(sql).executeUpdate();
    }
3.查詢
3.1 springMVC下的hibernate原生sql查詢:
@Override
    public User checkUsername(String userName){
     
        String sql="select * from user where userName= '"+userName+"'";//注意拼接字符串不能多加空格
        User user =  (User) getSession().createSQLQuery(sql).addEntity(User.class).uniqueResult();
        return user;
    }
3.2 springMVC下的hibernatehql查詢:
@Override
    public User checkUsername(String userName){
        //執行hql語言
        String hql= "from User u where u.userName=?";
        User user = (User) getSession().createQuery(hql).setParameter(0, userName).uniqueResult();
        return user;
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM