BlazeDS+Spring+Hibernate3での問題点

| コメント() | トラックバック(0) |

BlazeDSでSpring+Hibernate3を利用したアプリを作っているのですが、Hibernateで取得したデータをActionScriptで変換(マッピング)できない問題が発生しました。
原因としてはHibernateでリレーション設定しているオブジェクトがjavassistで生成され、クラス名がjavassistで生成された名前になっておりこれがActionScriptで変換ができないためです。

ActionScript側のマッピングするオブジェクトにはRemoteClass設定をしていても送られてくるデータのクラス名が例えば「com.examples.entity.SampleEntity_$$_javassist_1」とかとなっておりこれだとActionScriptでマッピングができません。

そこで以下のページを見つけました。

http://famvdploeg.com/blog/2008/08/blazeds-and-hibernate-proxied-objects/

何をしているかというと、BlazeDSでflex.messaging.io.BeanProxyというクラスがあってこれを継承したHibernate用のBeanProxyクラスを作ります。で、作ったProxyクラスをSpringのBeanとして登録するだけです。
これでアプリケーションを実行すると先に書いたクラスのjavassist部分がない情報が送信されるようになります。

覚書もかねて残しておきます。

トラックバック(0)

トラックバックURL: http://www.boundless-ocean.ne.jp/mt/mt-tb.cgi/505

Powered by Movable Type 4.27-ja
OpenID対応しています OpenIDについて

このブログ記事について

このページは、Tomochikaが2009年8月24日 22:48に書いたブログ記事です。

ひとつ前のブログ記事は「バンテージ・ポイント」です。

次のブログ記事は「デザインリニューアル」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。