私は問題があります:
- 私はJava EEプロジェクトで働いています.GUIは他の人が書いています。
- データベースを作成しました
- エンティティを含むJava SEアプリケーション(Netbeans 7.1を使用)を作成しました(Netbeansにデータベースからこれらを生成させて適合させました)
- テストクラスを書き、ejb を書き、それらをテストしました。
- 私は、他の Bean が注入されるシングルトン Web サービスを作成しました。
- すべてのインスタンス (データベース内の行) のリストを取得し、ID でインスタンスのインスタンスを取得し、更新して保存することができます。すべての CRUD 操作は問題ありません。
- クライアント、Java SE アプリケーション (Netbeans 7.1 を使用) で、(6 で作成した Web サービスの) WSDL URL を指定して「Web サービス クライアント」を追加しました。
私が手に入れたものはすべて切り離されたオブジェクトです。ID (主キー) を除くすべてのフィールド (文字列として) を持つすべてのオブジェクト。更新の代わりに、挿入を取得しました (編集されたオブジェクトにクライアント上の ID がないため)。削除はまったく機能しません。その他の操作(findAll、findById)はOKです。DTO (データ転送オブジェクト) を使用する必要がありますか? これらはejb3.1の時点ではもう必要ないことを読みました
クライアントでは、findAll 操作の場合、Netbeans はエンティティの使用を受け入れません。自動生成された「dtos」を使用する必要があります。これは、エンティティとほぼ同じフィールド (主キーまたは ID を除く) を文字列として持っています。