実行
デプロイしてサーバを起動...したらエラーになりました。
org.jboss.deployment.DeploymentException: HelloCount: Duplicate abstract-schema name 'hellodb'. Already defined for Entity 'HelloTo'.
というメッセージが出ていますね。何か思い違いをしていたようです。
EntityBeanを生成するウィザードで、「Schema name」という項目にデータベース名を入れるものだと思っていましたが、どうやらEntityごとに一意になるような名前を入れる必要がありそうです。テーブル名と同じ値に変更します。(EntityBeanのソースにあるXDocletタグを修正すればOKです。)
実行したクライアントコードは以下のとおりです。
try { HelloWorld myBean = getHome().create(); System.out.println("call SessionBean with parameter Bakock"); String ret = myBean.sayHello("Bakock"); System.out.println(ret); } catch (RemoteException e) { e.printStackTrace(); } catch (CreateException e) { e.printStackTrace(); } catch (NamingException e) { e.printStackTrace(); } try { System.out.println("--------------------------------------"); HelloWorld myBean = getHome().create(); System.out.println("call SessionBean with parameter Bob"); String ret = myBean.sayHello("Bob"); System.out.println(ret); } catch (RemoteException e) { e.printStackTrace(); } catch (CreateException e) { e.printStackTrace(); } catch (NamingException e) { e.printStackTrace(); }
実行結果
all SessionBean with parameter Bakock Hello バコック ほげ太郎, 4回目です
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
hellocountテーブル
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
nickname | count |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Bakock | 4 |
Bob | 4 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
どうやら目論見どおりに行っているようです。