我说的是数据库表的类型,一般是在创建数据库脚本里写的:CREATE TABLE User ( id BIGINT UNSIGNED not null unique,间表示 */ name varchar(256) not null , pwd varchar(128) not null , primary key(id) ) character set gb2312 type = innodb;
Hibernate: select user0_.user_id as user_id, user0_.name as name, user0_.sex as sex, user0_.age as age from USER user0_ yaocanz Age: 23 Sex: mHibernate: update USER set name=?, sex=?, age=? where user_id=? Hibernate: select user0_.user_id as user_id, user0_.name as name, user0_.sex as sex, user0_.age as age from USER user0_ tiger Age: 23 Sex: m 这是执行后ECLIPSE控制台的结果!但数据库里还是还来的值! 重启数据库也不行!?
而且类型只有any - 总是储存
none - 总是更新
null - id为null时储存(预设)
valid - id为null或是指定值时储存四种吧!?
id BIGINT UNSIGNED not null unique,间表示 */
name varchar(256) not null ,
pwd varchar(128) not null ,
primary key(id)
) character set gb2312 type = innodb;
yaocanz
Age: 23
Sex: mHibernate: update USER set name=?, sex=?, age=? where user_id=?
Hibernate: select user0_.user_id as user_id, user0_.name as name, user0_.sex as sex, user0_.age as age from USER user0_
tiger
Age: 23
Sex: m
这是执行后ECLIPSE控制台的结果!但数据库里还是还来的值!
重启数据库也不行!?
session = sessionFactory.openSession();
org.hibernate.Transaction tx = session.beginTransaction();// 更新数据
session.saveOrUpdate(updated);
users = session.find("from User"); tx.commit();
session.flush();
session.close();
sessionFactory.close();
(2):事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。
COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚回到事务开始的状态。
(3):事务运行的三种模式:
A:自动提交事务
每条单独的语句都是一个事务。每个语句后都隐含一个COMMIT。
B:显式事务
以BEGIN TRANSACTION显式开始,以COMMIT或ROLLBACK显式结束。
C:隐性事务
在前一个事务完成时,新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK显式结束。
(4):事务的特性(ACID特性)
A:原子性(Atomicity)
事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。
B:一致性(Consistency)
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
C:隔离性(Isolation)
一个事务的执行不能被其他事务干扰。
D:持续性/永久性(Durability)
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
注:事务是恢复和并发控制的基本单位。
((1)是回答事务的概念到底是什么——即你的提问,至于(2)、(3)、(4)只是作的稍许补充而已,不必深究,呵呵……)