Hibernate的相关问题

WBOY
Lepaskan: 2016-06-07 15:28:17
asal
1221 orang telah melayarinya

1. Hibernate数据库中明明有,但是Get总返回null Oracle的CHAR(15)类型,如果字符串ID不足15个字符,则会自动用空格补齐。 虽然在Sql Plus工具查询的时候,不需要补齐空格。 但是在Hibernate查询的时候需要补齐的。 这也是为何Hibernate get查询的时候,数据

1. Hibernate数据库中明明有,但是Get总返回null

Oracle的CHAR(15)类型,如果字符串ID不足15个字符,则会自动用空格补齐。
虽然在Sql Plus工具查询的时候,不需要补齐空格。
但是在Hibernate查询的时候需要补齐的。
这也是为何Hibernate get查询的时候,数据库中明明有,却返回null的原因之一

2.Hibernate在插入记录的时候,commit等待、假死、不执行下一步的根本原因
Hibernate在插入记录的时候,如果ID(主键值)重叠,则会等待,奇怪。根本原因在于

SQLPlus或者Hibernate操作该数据表没有提交导致。当然如果已经提交了,ORACLE不要求

Hibernate等待的时候,Hibernate本身会抛出异常。

比如SQL PLUS 用delete from school where id=1;但执行完后没有commit
然后Hibernate 要插入id=1的记录,那么ORACLE将让Hibernate等待,一面出现了错误的逻辑。
(感觉ORACLE或者Hibernate也没有设计得多好,因为在Hibernate因为SQL PLUS没有提交时而

等待,但是SQL PLUS 提交(commit)后还是等待,没有事件通知功能)

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan