useful note
1.一般在model层上的po不会被其他层面进行引用,因为这直接关系到了数据库所对应的记录,但是如果在表现层
需要引用改po的value,就可以使用dto(data transfer object)传输给表现层的valueobject
2.由于hibernate在opensession,获得transaction的过程相当于jdbc的connection设置setautocommit(false);的过程
故而,而hibernate的transaction实质上是在一个connection的transaction,然后在jta中的transaction则相当于是
跨多个connection的transaction。故而在使用jta的transaction的时候不要使用hibernate的transaction,否则会产生错误。
3.悲观锁是使用还是必须数据库底层支持,否则数据仍然会被修改
4.数据库中在select语句之后的for其实就是加锁的操作
5.hibernate的query.list与query.iterator的区别是前者不用缓存直接使用select
语句将数据库中的内容从数据库中取出来,而query.iterator则没有像list那样的提取
数据,而是将数据从cache中取出来,并且一下子也没有获得像list一样的数据
1.一般在model层上的po不会被其他层面进行引用,因为这直接关系到了数据库所对应的记录,但是如果在表现层
需要引用改po的value,就可以使用dto(data transfer object)传输给表现层的valueobject
2.由于hibernate在opensession,获得transaction的过程相当于jdbc的connection设置setautocommit(false);的过程
故而,而hibernate的transaction实质上是在一个connection的transaction,然后在jta中的transaction则相当于是
跨多个connection的transaction。故而在使用jta的transaction的时候不要使用hibernate的transaction,否则会产生错误。
3.悲观锁是使用还是必须数据库底层支持,否则数据仍然会被修改
4.数据库中在select语句之后的for其实就是加锁的操作
5.hibernate的query.list与query.iterator的区别是前者不用缓存直接使用select
语句将数据库中的内容从数据库中取出来,而query.iterator则没有像list那样的提取
数据,而是将数据从cache中取出来,并且一下子也没有获得像list一样的数据