hibernate里createSQLQuery】的更多相关文章

http://langgufu.iteye.com/blog/1565397 ———————————————————————————————————————————————————————————————————— 1. 使用SQLQuery对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.最简单的情况下,我们可以采用以下形式: List cats = sess.createSQLQuery( " select *…
一.addEntity()和setResultTransformer()方法 1. 使用SQLQuery 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.最简单的情况下,我们可以采用以下形式: List cats = sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list(); 这个查询指定了: SQL查询字符串…
hibernate执行createSQLQuery时字段重名的问题 不同表关联 ,表字段重名 =>之前若 as 别名 会自动区分 但有一次签移到新服务器  mysql 5.5上: 若字段重名:重名字段值会变成第一个字段值, 试了多种方法解决:最后以重名字段加 trim(字段)或concat(字段) 会自动区分…
今天项目中遇到这个问题,搞了大半天,现在记录下来hibernate里联合主键配置(多个字段一起作为主键) <class name="com.cskj.hibernate.map.BbWjjc" table="bb_wjjc" schema="dbo" catalog="wjgl"> <composite-id name="id" class="com.cskj.hibernate…
一.项目结构 二.hibernate核心配置文件:   hibernate.cfg.xm <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hiber…
@Override public boolean deleteBySql(String sql) { Session session = getSession(); @SuppressWarnings("unchecked") // Transaction tx = session.beginTransaction(); Query query = session.createSQLQuery(sql); query.executeUpdate(); // tx.commit(); /…
1. 首先明确一点,使用createSqlQuery如下两种方式的占位符都可以使用,这个在官方的文档可以查到. 注意使用模糊查询时,赋值两边不可以添加单引号. Query query = sess.createSQLQuery("SELECT * FROM CATS WHERE NAME like ?").addEntity(Cat.class); List pusList = query.setString(0, "Pus%").list(); query = s…
save()方法用于将一个临时对象转变为持久化对象,也就是将一个新的业务实体保存到数据库中:update()方法用于将一个游离对象重新转变为持久化对象,也就是更新一个已经存在的业务实体到数据库中:saveOrUpdate()兼具了save()和update()方法的功能,该方法根据传入参数的状态执行不同的操作,当为临时状态时,调用save()方法:当为持久化状态时,则直接返回:当为游离状态时,调用update()方法.merge()方法主要用于更新和保存实体,当实体不存在是,则执行保存操作,当实…
今天在看Hibernate的时候,似乎又有了一些收获的东东,嘻嘻... 我记得很清楚:以前用JDBC操作数据库的时候是这样的: String sql = "select * from user where userName=?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1,"小白"): 注意:这边的索引是1: 但是今天看Hibernate的时候, String hql = &q…
在*.hbm.xml必须声明的<generator>子元素是一个Java类的名字,用来为该持久化类的实例生成唯一的标识.<generator class="sequence"/>这是一个非常简单的接口:某些应用程序可以选择提供他们自己特定的实现.当然,Hibernate提供了很多内置的实现.下面是一些内置生成器的快捷名字:increment(递增)    用于为long, short或者int类型生成唯一标识.只有在没有其他进程往同一张表中插入数据时才能使用.…