Hibernate常用方法之_删除

1、使用session的delete方法

 1     public void deleteUser(User user){
 2         Session session = null;
 3         Transaction transaction = null;
 4         try {
 5             session = HibernateUtils.getSession();
 6             transaction = session.beginTransaction();
 7
 8             session.delete(user);
 9
10             transaction.commit();
11         }finally {
12             if (null != session){
13                 session.close();
14             }
15         }
16     }


2、使用HQL进行删除

 1     public void deleteUserHQL(User user){
 2         Session session = null;
 3         Transaction transaction = null;
 4         try {
 5             session = HibernateUtils.getSession();
 6             transaction = session.beginTransaction();
 7
 8             String hql = " DELETE FROM User WHERE id = :id ";
 9             Query query = session.createQuery(hql);
10             query.setInteger("id",user.getId());
11
12             query.executeUpdate();
13             transaction.commit();
14         }finally {
15             if (session != null){
16                 session.cancelQuery();
17             }
18         }
19     }
时间: 2024-10-19 09:16:33

Hibernate常用方法之_删除的相关文章

Hibernate常用方法之_修改

1.使用session的saveOrUpdate方法 1 public void updateUser(User user){ 2 Session session = null; 3 Transaction transaction = null; 4 try { 5 session = HibernateUtils.getSession(); 6 transaction = session.beginTransaction(); 7 8 session.saveOrUpdate(user); 9

Hibernate常用方法之_插入

1.使用session的save方法进行插入 1 public void saveUser(User user){ 2 3 Session session = null; 4 Transaction transaction = null; 5 try { 6 session = HibernateUtils.getSession(); 7 transaction =session.beginTransaction(); 8 /*保存对象到数据库*/ 9 session.save(user); 1

Hibernate常用方法之_查询

1.使用session的get方法 1 public User getUser(int id){ 2 Session session = null; 3 User user = null; 4 try { 5 session = HibernateUtils.getSession(); 6 /*根据主键获取一条记录*/ 7 user = (User) session.get(User.class,id); 8 }finally { 9 if (session != null){ 10 sessi

Hibernate学习笔记_联合主键

复合主键(联合主键):多个字段构成唯一性. 一,xml方式 1. 将联合主键的属性提取出来,重新编写一个StudentPK类(原Student类中的id,name要删除 并新加入属性“StudentPK”) //StudentPK .javapackage com.bjsxt.hibernate; public class StudentPK implements java.io.Serializable{ private int id; private String name; public

hibernate批量更新和删除数据

批量处理  不建议用Hibernate,它的insert效率实在不搞,不过最新版本的Hibernate似乎已经在批量处理的时候做过优化了,设置一些参数如batch_size,不过性能我没有测试过,听说是这样.我记得以前在做大批量数据转移的时候我们测试过Hibernate,很慢,直接Pass,当时我们的系统由于用多个数据库,所以用的jdbc,如果不考虑移植还是可以用存储过程的. 存储过程对数据库依赖过强,不便系统移植   浅析Hibernate下数据批量处理方法 关键字: hibernate指处理

hibernate 批量增加 修改 删除

4.2  Hibernate的批量处理 Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作.例如调用Session的delete()方法来删除持久化对象,Hibernate将负责删除对应的数据记录:当执行持久化对象的set方法时,Hibernate将自动转换为对应的update方法,修改数据库的对应记录. 问题是如果需要同时更新100?000条记录,是不是要逐一加载100?000条记录,然后依次调用set方法——这样不仅繁琐

hibernate 中根据id删除一条记录的语句

qid name like content 1 A 1 the first text 2 B 2 the Second text 1 C 3 the Third text 如上表所示,当我们需要某个qid执行删除操作时,可以按照如下语句进行执行 1 String hql="from bbsLikes b where b.qid=(:ID)"; 2 String[] paramName={"ID"}; 3 Object[] value={qid}; 5 List li

mysql_12_索引的分类_创建_删除

1 USE db_book; 2 -- 第四节:索引分类 3 -- 1.普通索引 4 -- 这类索引可以创建在任何数据类型中: 5 -- 2.唯一性索引 6 -- 使用UNIQUE参数可以设置,在创建唯一性索引时,限制该索引的值必须是唯一的; 7 -- 3.全文索引 8 -- 使用FULLTEXT参数可以设置,全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上; 9 -- 主要作用就是提高查询较大字符串类型的速度:只有MyISAM引擎支持该索引,Mysql默认引擎不支持. 10 -

Hibernate学习笔记_事务

 事务并发处理(面试的意义更大)                        a)   事务:ACID i.   Atomic(原子性) Consistency(一致性) Isolation(隔离性) Durability(独立性) b)   事务并发时可能出现的问题: 第一类丢失更新(Lost Update) 时间 取款事务A 存款事务B T1 开始事务   T2   开始事务 T3 查询账户余额为1000元   T4   查询账户余额为1000元 T5   汇入100元把余额改为1100元