今天在做删除歌曲的时候,出现org.hibernate.ObjectNotFoundException: No row with the given identifier exists:[cn..entity.Song#1]的问题,不过查看表后,id的值是存在的。
经过一番查找,发现表中id字段的类型是CHAR(22),以前记得跟VARCHAR2有所区别,即CHAR 的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
其中后台产生的SQL如下:
select song0_.ID as ID7_0_,song0_.TITLE as TITLE7_0_ from SONG song0_ where song0_.ID='1';
由上面可知,虽然你看到表中有id值为1,实际上它的值因为1+19个空格的长度,所以查找不到,如:
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349308/c765dc20-1a62-3080-9dcf-895f6a31381e.jpg[/img][/url]
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349316/73f1ff6b-140f-35c3-96ca-b1d67d201de2.jpg[/img][/url]
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349310/8d12a344-d49b-3e54-b0e8-13a64e4c9883.jpg[/img][/url]
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349306/f0229f4d-5c76-32c1-ab6f-2c3c7636c0be.jpg[/img][/url]
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349313/87f26ea2-75c1-3dbf-89ff-706534b9cd79.jpg[/img][/url]
select * from song t where t.id = '1' 可以查到数据
select * from song t where t.id = '1 '可以查到数据
select * from song t where t.title = 'lady gaga'可以查到数据
select * from song t where t.title = 'lady gaga '不可以查到数据
有空,欢迎到[url=http://hongfanshu.blogbus.com/]红番薯[/url]逛逛
经过一番查找,发现表中id字段的类型是CHAR(22),以前记得跟VARCHAR2有所区别,即CHAR 的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
其中后台产生的SQL如下:
select song0_.ID as ID7_0_,song0_.TITLE as TITLE7_0_ from SONG song0_ where song0_.ID='1';
由上面可知,虽然你看到表中有id值为1,实际上它的值因为1+19个空格的长度,所以查找不到,如:
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349308/c765dc20-1a62-3080-9dcf-895f6a31381e.jpg[/img][/url]
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349316/73f1ff6b-140f-35c3-96ca-b1d67d201de2.jpg[/img][/url]
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349310/8d12a344-d49b-3e54-b0e8-13a64e4c9883.jpg[/img][/url]
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349306/f0229f4d-5c76-32c1-ab6f-2c3c7636c0be.jpg[/img][/url]
[url=http://hongfanshu.blogbus.com][img]http://dl.iteye.com/upload/attachment/349313/87f26ea2-75c1-3dbf-89ff-706534b9cd79.jpg[/img][/url]
select * from song t where t.id = '1' 可以查到数据
select * from song t where t.id = '1 '可以查到数据
select * from song t where t.title = 'lady gaga'可以查到数据
select * from song t where t.title = 'lady gaga '不可以查到数据
有空,欢迎到[url=http://hongfanshu.blogbus.com/]红番薯[/url]逛逛