We read the world wrong and say that it deceives us.

Hibernate : could not load an entity

 

貌似接近一个月没有更新部落格了,总结这么长时间没更新的原因:

1)忙,真是忙。
2)WordPress后台实在是太慢,慢到等半天才能看到撰写的界面,6月份自己用java写了一个部落格,但是觉得有太多地方还不够完善了,所以就没有移植过来,再等等吧,忙完这阵可能就会清闲许多了。

说了一堆闲话,说说要写的内容,这两天项目中涉及到了Hibernate的操作,可是总在报以下两个错误:

1) could not load an entity: [com.kaisir.server.vo.User#1]
2) 关键字 ‘User’ 附近有语法错误。

因为hibernate相关的部分都是由MyEclipse生成的,从映射文件到vo,理论上是不会出错的,后来经过检查,发现出错原因在于“User”这个是Sql Server的关键字,Hibernate没智能到给关键字加上”[ ]“以示区分。

2011 - 07 - 02技术宅男

3条评论
739 views

数据库课程设计之UI制作总结(一)

数据库要进行课程设计,为期两周的时间,真是难得的两周什么都不用做可以完全关注与程序。这次的课程设计我打算使用Java+MySQL来把Kaisir的部落格写出来,之后再一点点的进行完善,我想这个完善的过程,也便是自己进步的过程 :)

今天用了一段时间来完成了首页UI的一大部分,样子如上图所示,嘿嘿,是不是跟现在的部落格样子很像?其实就是模拟着现在的部落格样子来的,不过却是自己一行行代码手敲出来的,而且使用了很多方法来尽可能的使新的部落格兼容更多的浏览器,就目前看来,FF5&IE7-9看起来都没有问题嘿嘿。

好,接下来我就对其中的一些问题做一些总结,已被后来查阅。

1)怎样将两个含有float属性的层完全共存?
在层与层之间插入

<div style="clear:both;"></div>

通过这个,可以消除之前的float属性的影响。

2)如何使用CSS完成垂直居中?
这个有两种方法,不过都不是很完美:
第一种方法让padding-top与padding-bottom都使用相同的值。(支持所有元素)
第二种方法让line-height与height的值相等,并设置overflower为hidden;(仅支持文本)

3)如果发现FF与IE显示的不同,如何进行调整?
可 以使用一些”Hack” 例如仅有IE识别“<!–[if IE]><![endif]–>”标签,故可以单独写一个针对IE的补充CSS,用刚刚提到的标签引入这个CSS即可,当然,还有一 些特殊的Hack,比如只有IE6识别Css中使用下划线,例如“color:red;_color:green;”则在IE6中显示为绿色,其他为红色 :)

4)如何定义分割线?
分割线的html代码为<hr> 常见的定义无非就是去除阴影:noshade=”noshade”,线宽:size=xx

5)如何实现鼠标滑过按钮?
比我想象的简单的多

div#nav a:hover{
	background-color:#999;
	display:block;
	}

这样就行啦 :)

2011 - 06 - 27分享心得

3条评论
770 views

Windows 7 Aero特效自己关闭的处理方法

宿舍一兄弟发现他的Windows 7 Aero特效不时的会自己关闭,其实解决方法很简单:

运行Services.msc找到DesktopWindowManagerSessionManager服务,重启这个服务,Ok :)

台风过境

“米雷”经过,这雨下了一天了,记得刚要来青岛那会儿朋友还说来这边一定要准备两把伞,今天看来,两把也不一定够啊……看来还是多吃饭增加增加体重来的实在,哈哈哈哈 :)

从“浙江省台风路径实时发布系统”发布的路径来看,18点“米雷”又像山东半岛靠近了一些 哇咔咔。。。

javascript小应用——青岛理工大学一键评教

又到期末,一年一度的评教活动又开始了,无奈学校的评教系统太霸道,设定了一个长达两分钟的考虑时间,而每年评教的选项跟题目都一样,我想这两分钟的时间实在是太长了,于是就用JavaScript实现了这个一键评教的玩意。

用法:

1)在下面的“一键评教”按钮上点击鼠标右键,选择“添加到收藏夹”,在弹出的窗口中,将名称改为“一键评教”,单击确定。
2)登陆青岛理工大学教务系统,用自己的用户名密码登陆。
3)访问http://211.64.192.44:8080/jxpgXsAction.do?oper=listWj进入评教页面。
4)选择具体需要评教的教师。点击进入评教。
5)打开收藏夹,并选择刚刚加入收藏夹的“一键评教”
6)BinGo,当前评教完成,选择其他需要评教的教师,继续此过程。

一点说明:

1)此小脚本所有的选项默认都选择为“十分满意”,我想这是对一学年来对辛苦教育我们的教师的最好的肯定。
2)此脚本仅仅作用于青岛理工大学评教,其他高校需要修改才能适用。
3)此脚本仅以学习JavaScript为目的,没有其他目的。

原理解释:

此脚本包含了一段JavaScript代码,这段代码使用了一段循环来遍历页面中的元素,并判定哪些是单选框,根据单选框的值做出选择,最后跳过教务系统设置的check()函数,直接完成提交。

2011 - 06 - 15分享心得

2条评论
805 views

Apple iTunes 发生未知错误(-9808)

这几天iTunes光报未知错误(-9808),我也没做什么操作啊,百思不得其解,今天又查了下资料,终于找到了解决办法,其实很简单:

“打开你的IE(也就是你上网的那个浏览器窗口,桌面上那个E的那个东西)  在工具栏里面点   工具–Internet选项–高级选项卡    在里面把“检查服务器证书吊销*”   这个勾去掉  确定  就可以了”

解决方法来自:http://wenda.tianya.cn/wenda/thread?tid=0d28c52461cbc297&clk=cts_st

2011 - 06 - 05分享心得

1条评论
470 views

你相信我能猜中你心中所想的那个人么?

很好玩的一个网站,在心里想一个人,若干个问题之后,他就能猜中你心中所想的那个人哈 :)

点此链接进入:http://s.kaisir.com/4R

估计他是初始化一个很详细的数据库,同时根据你的选择不停的扩充这个数据库,我尝试了几个歌手(无论国籍)都没有问题哈 ~

编译原理:求First集与Follow集的方法

最近马上要步入考试周了,编译原理的这个Follow集一直令我头大啊,今天百度了下下,找到一篇文章,看了以后我瞬间就明白了如何求解Follow集~~哈哈,如果你也不知道如何求解Follow集,请看看下面的这篇日志吧 ,其实我发现,对于Follow集,我一开始不理解的地方就在那个Vn能推出ε的时候,就需要再往后考虑一个字符:)

文法:

S→ABc
A→a|ε
B→b|ε
First集合求法:
能 由非终结符号推出的所有的开头符号或可能的ε,但要求这个开头符号是终结符号。如此题A可以推导出a和ε,所以FIRST(A)={a,ε};同理 FIRST(B)={b,ε};S可以推导出aBc,还可以推导出bc,还可以推导出c,所以FIRST(S)={a,b,c}
Follow集合的求法:
紧跟随其后面的终结符号或#。但文法的识别符号包含#,在求的时候还要考虑到ε。 具体做法是把所有包含你要求的符号的产生式都找出来,再看哪个有用。 Follow(S)={#}
如求A的,产生式:S→ABc A→a|ε ,但只有S→ABc 有用。跟随在A后年的终结符号是FIRST(B)={b,ε},当FIRST(B)的元素为ε时,跟随在A后的符号就是c,所以 Follow(A)={b,c} 同理Follow(B)={c}

本文转载自:http://guanjy0129.blog.163.com/blog/static/11154944520106149828498/

关于“msxml3.dll (0x800C0005)系统未找到指定的资源”的另一解决方案

今天学院的首页拉取天气预报的地方出现了“msxml3.dll (0x800C0005)系统未找到指定的资源”的错误提示,在自习室就被叫回来紧急处理,在从教学楼往宿舍走的路上用手机Google了下可能的出错原因,大部分都是说msxml3这个组件有问题,但是因为服务器之前运行一直好好的,所以我不认为是这个地方出现错误。

回到宿舍打开电脑通过VPN拨入学院的校园网,远程连入www服务器,上来先把wwwroot(网站的根目录)按照时间进行排序,看看有没有故障前后修改的文件。这样做有多个好处:
1)避免因为其他人的误操作而造成代码上的错误,想想看,把服务器检查个底朝天,最后发现是有人修改页面的时候不小心改错了行代码,我相信你会哭死吧。
2)能迅速的发现网站服务器是否被人插入恶意代码从而造成的页面访问不正常,一般的Hacker都不会注意到挂马之后被挂马文件的时间属性,从这里也能快速定位可能出现的故障原因。

可是检查下来发现上面的都不是出错原因,这时我的职业敏感性让我想到会不会是提供天气信息的那个页面出现了问题,从服务器上访问腾讯天气页面,果然,找不到服务器,在cmd下使用ping命令拼打不开的那个页面,发现根本无法解析地址,果断使用nslookup命令从Google public dns上获取解析地址,之后修改hosts文件,完成本地解析,重新打开网页,故障解决。

总结:
有时候不要被系统给出的提示信息所迷惑,而且搜索引擎提供的别人遇到的解决方案仅仅只能用于参考,切不要在没搞清楚状况之前就贸然下手。最后我要强调,培养职业敏感性很重要,多看多实践多思考,是培养职业敏感性最佳方法。

 

Nginx 平滑升级过程小记

1.前言:

Nginx 的正式版 1.0已经发布有一段时间了,甚至在2011年5月26日Nginx 1.0.3也发布了,看看现在服务器上依然运行着nginx/0.7.67,于是决定尝试下Nginx平滑升级的特性。

2.准备工作

2.1获取上次编译配置

因为Nginx的安装全部为编译安装,想要进行平滑升级,必须获取到Nginx上一次进行编译安装时的编辑参数,在shell下执行:

# /usr/local/nginx/sbin/nginx –V

查看上次编译的参数信息:

nginx version: nginx/0.7.67

built by gcc 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)

TLS SNI support enabled

configure arguments: –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module

2.2 获取Nginx最新版

此外,我们需要下载Nginx 1.0.3的源代码包并解压缩待用,在shell下执行:

#cd /usr/src/

# wget http://nginx.org/download/nginx-1.0.3.tar.gz

# tar  xvzf nginx-1.0.3.tar.gz

2.3备份当前版本的Nginx

俗话说“有备无患”对于这次升级当然也需要备份原来的版本,备份方法很简单,我们只要把旧版的Nginx主程序改下名,这样哪怕升级失败,我们再把原来的文件名改回来就是了。在shell下执行:

#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

3.开始升级

3.1 编译最新版Nginx

到这里我们就要开始正式的升级过程了,我们首先需要进到放有nginx最新版源代码的目录下,在shell下执行:

#cd  /usr/src/nginx-1.0.3

之后我们进行编译前的配置过程,需要使用的参数来自2.1小节。在shell下执行:

#./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module

之后我们使用”make”命令进行编译,请注意,make结束后,不要再执行make install ,否则会覆盖掉现在的配置,就称不上平滑升级了。在shell下执行:

#make

静候编译完成,之后我们进到obj文件夹下,编译完成的文件就放在这下面,我们在shell下执行:

#cd obj

#ls –an

观察是否存在nginx文件,如果存在,就说明我们编译成功,可以通过cp命令将刚刚编译完成的nginx文件拷贝到原版本nginx文件处,但是因为我们现在nginx 在执行中,我们必须先杀掉nginx的进程,之后才能完成替换。所以需要在shell下执行:

#kill `cat /usr/local/nginx/logs/nginx.pid`

#cp nginx /usr/local/nginx/sbin/

#/usr/local/nginx/sbin/nginx

如果最后一步能正常启动nginx,则我们平滑升级步骤就完成了。

4.升级后测试

当然,完成了升级还需要做一些测试,可以测试下以前的页面能否打开,你瞧,现在你能看到这篇日志,说明我已经成功完成了Nginx的平滑升级工作 :)

返回顶部