semi-sleep

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  17 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

2009年1月8日 #

1. When automatic versioning is used, hibernate generates the following sql:
update products set version=?, name=?, description=?, unitCost=?, pubTime=where id=and version=?
Note that using such sql, you don't need to select the version from database to compare with current version.

2. Other ways to resolve LazyInitializationException, except Open Session in View.

3. Note that for the Transaction in jta, you can register a Synchronization, though this you can be informed before or aftter transaction commit, is Hibernate use this way to flush? (Transaction manager manage Transaction by begin / suspend / getTransaction / setTransactionTimeout, its other methods just delegate to Transaction).
posted @ 2009-01-08 17:29 semi-sleep 阅读(209) | 评论 (0)编辑 收藏

启动hsqldb:
cd ..\data
 
//数据库文件会放到这个目录,如果不存在hsqldb会自动创建
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb 
//-database.0 file:mydb 数据库文件的名字,-dbname.0 xdb 数据库的名称


连接到hsqldb:
DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/xdb""sa""");
// "hsql:host" 是通过网络连接,还有"file:file_path"是在当前jvm使用hsqldb引擎并使用指定数据库文件,"mem:name"是用内存数据库
//"xdb"是刚才设置的数据库名称
//一般新建的数据库,hsqldb应该都是创建一个用户名是"sa",密码是空的管理员账号


posted @ 2009-01-08 17:22 semi-sleep 阅读(583) | 评论 (0)编辑 收藏