[Java]Hibernate保存或者更新VO遇到same identifier value问题
作者:弃天笑 日期:2009-02-17
最近在使用到了hibernate更新一个VO遇到了这个问题
a different object with the same identifier value was already associated with the session
当
session.update(vo);
就提示上面的错误。是Nhibernate里头,在同一个Session里,数据库的一条记录,只能对应一个引用。如果程序中有其他的对象(这个对象不是由这个Session 从数据库取得的,叫脱管实体,和Session中某一对象的数据库标识符相同)由这个Session保存。就会报这个错,目的在于保证不出现不一致读的问题。
a different object with the same identifier value was already associated with the session
当
session.update(vo);
就提示上面的错误。是Nhibernate里头,在同一个Session里,数据库的一条记录,只能对应一个引用。如果程序中有其他的对象(这个对象不是由这个Session 从数据库取得的,叫脱管实体,和Session中某一对象的数据库标识符相同)由这个Session保存。就会报这个错,目的在于保证不出现不一致读的问题。
[AS3]Cinnamon远程方法调用参数错误
作者:弃天笑 日期:2009-01-19
在Cinnamon传输自定义的对象(VO/Bean)
作者:弃天笑 日期:2008-12-28
在使用Cinnamon中传输自定义对象的话,是需要另外配置cinnamon-config.xml文件的。(注意,本文所说的配置不是基于spring的,cinnamon-config.xml的配置文件有两种配置方式,一种是基于spring,另外一种就是基本它本身的解析程序了)
我当初用的时候,也是一时大意,以为它是像Adobe的Remoting一样,直接在VO的名字是上面用[RemoteClass(alias="soda.SodaVo)]一样绑定,或者采用registerClassAlias("soda.SodaVo",SodaVo);
这样的注册方式,只要服务器有对应的soda.SodaVo就可以解析出来。
事实上,Cinnamon传输自定义的VO,需要额外的配置,查看了他的文档,才知道class Mapping。下面是他的配置信息:
<bean-mapping alias="model::SodaVo" java-class="soda.SodaVo" />
我当初用的时候,也是一时大意,以为它是像Adobe的Remoting一样,直接在VO的名字是上面用[RemoteClass(alias="soda.SodaVo)]一样绑定,或者采用registerClassAlias("soda.SodaVo",SodaVo);
这样的注册方式,只要服务器有对应的soda.SodaVo就可以解析出来。
事实上,Cinnamon传输自定义的VO,需要额外的配置,查看了他的文档,才知道class Mapping。下面是他的配置信息:
<bean-mapping alias="model::SodaVo" java-class="soda.SodaVo" />
[AS3]开源的Remoting框架:Cinnamon
作者:弃天笑 日期:2008-12-28
目前在做一个后台管理系统的项目中,因为不想使用Adobe自带的remoting组件,所以采用了Cinnamon这个开源的项目。
Cinnamon是http://www.spicefactory.org/中的一个基于flash remoting技术的开源框架(具体想要了解的人可以到网站去了解http://www.spicefactory.org/cinnamon/,一进去就有它的详细介绍:Full support for AMF3):下面是官方介绍,我就不翻译啦
Cinnamon is a remoting framework based on the AMF3 protocol connecting clients written in AS3 with Java EE server applications. It can be deployed in every servlet container or Java EE application server. It contains the following features:
* Full support for AMF3.
* Comes with its own Client API and does not build on top of the RemoteObject API of Flex, so it can be used with or without Flex.
Cinnamon是http://www.spicefactory.org/中的一个基于flash remoting技术的开源框架(具体想要了解的人可以到网站去了解http://www.spicefactory.org/cinnamon/,一进去就有它的详细介绍:Full support for AMF3):下面是官方介绍,我就不翻译啦
Cinnamon is a remoting framework based on the AMF3 protocol connecting clients written in AS3 with Java EE server applications. It can be deployed in every servlet container or Java EE application server. It contains the following features:
* Full support for AMF3.
* Comes with its own Client API and does not build on top of the RemoteObject API of Flex, so it can be used with or without Flex.
[as3]Flash自动进入方便面三国游戏
作者:弃天笑 日期:2008-11-12
之前有一段时间在玩webgame,本来打算看能不能看发出简单的外挂,让自己玩游戏玩得更简单些,可惜没时间,最终只是用flash开发了一个账号登陆器,就是预先存多个账号,然后选择对应的账号,就会登陆到游戏里面,绕过每次输入帐户密码的过程。
下面发送的是根据账号自动登陆的flash,把生成出来的gameurl复制到浏览器上,就可以马上进去游戏了
演示flash:

下面发送的是根据账号自动登陆的flash,把生成出来的gameurl复制到浏览器上,就可以马上进去游戏了
演示flash:

[反射]比较两个VO对象的值
作者:弃天笑 日期:2008-10-15
开发flash remoting的时候,直接把一个flash的vo对象发送到服务器,然后服务器接受这个vo,并取出对应的值,具体的情况可能各不相同,直接假设一个客户端传过来的vo要把里面有值的地方传给新的vo对象中
(实际例子,客户端传一个与Hibernate的VO具有相同属性的vo,在这里要把客户端vo的值传给hibernate的vo,从而更新数据库,为了避免给不同的vo手工编写代码,所以就用到了反射)
在这里,主要是利用到反射,这是一个简单的例子,有兴趣的人可以继续扩充
下面是比较类的代码
程序代码
(实际例子,客户端传一个与Hibernate的VO具有相同属性的vo,在这里要把客户端vo的值传给hibernate的vo,从而更新数据库,为了避免给不同的vo手工编写代码,所以就用到了反射)
在这里,主要是利用到反射,这是一个简单的例子,有兴趣的人可以继续扩充
下面是比较类的代码
程序代码
空间域名有问题,造成数据丢失
作者:弃天笑 日期:2008-10-15
发些今年的作品:童梦社区
作者:弃天笑 日期:2008-08-04
发些今年的作品:网络斗地主
作者:弃天笑 日期:2008-07-31
[AS3]registerClassAlias的用法
作者:弃天笑 日期:2008-07-31
registerClassAlias在利用AMF3进行序列话网络通讯中,是非常有用的。需要把客户端的对象直接传送到服务器得时候,保留该对象的类(类型)。 这样的话,就可以传送自定义对象或者系统自带对象。
具体的使用方法,官方有详细地用法。这里我只说说自己的一些理解。
readObject方法对构造器有参数的类,是会出错的,会弹出参数数量不匹配这个错误。因为还原对象进行反射的时候,是默认没有参数的给构造器的。这也是有些人 讨论Sprite等对象不能进行深度拷贝的原因
所以在使用AMF3进行序列话的时候要注意这个了,还有一个就是,如果那个类包含了多个类,也就是个复合类,那么里面的那个复合类,也必须进行registerClassAlias,例如
具体的使用方法,官方有详细地用法。这里我只说说自己的一些理解。
readObject方法对构造器有参数的类,是会出错的,会弹出参数数量不匹配这个错误。因为还原对象进行反射的时候,是默认没有参数的给构造器的。这也是有些人 讨论Sprite等对象不能进行深度拷贝的原因
所以在使用AMF3进行序列话的时候要注意这个了,还有一个就是,如果那个类包含了多个类,也就是个复合类,那么里面的那个复合类,也必须进行registerClassAlias,例如






