0

私はWCF (および C#) の経験が豊富です。しかし、私のプロジェクトでは、サービスを Java で作成する必要があります (Java の経験はありません)。次のようなサービスメソッドを書きたい:

//Java code!
List<BaseEntity> filter(String dbName, String tableName, String where);

署名から、このメソッドが、データベースの呼び出されたテーブルからフィルター処理されたエンティティ (行) のリストを返すことになっていること、および行をフィルター処理する条件であることはほぼ明らかです。ここでの前提は、DB 内のテーブルを表すすべてのクラスが基本クラスから派生しているため、メソッドから任意のテーブルのリストを返すことができるということです。tableNamedbNamewhereBaseEntityfilter

私の質問は、

  • Java のどのフレームワークで、この種のサービス メソッドを記述できますか?
  • 特に、派生クラス オブジェクトを返すことができるように、戻り値の型をベース クラスにすることはできますか?

ServiceKnownTypeAttribute (またはKnownTypeAttribute )を使用して WCF でこれが可能であることはわかっています。

//C# code
[ServiceKnownType(typeof(User))]     //User is derived from BaseEntity
[ServiceKnownType(typeof(Vendor))]   //Vendor is derived from BaseEntity
[ServiceKnownType(typeof(Customer))] //Customer is derived from BaseEntity
List<BaseEntity> Filter(string dbName, string tableName, string where);

現在、このメソッドは : 型のエンティティを返すことができますがUser、メソッドの上にリストされVendorCustomerない他のクラスは返すことができません。

それがどのJavaフレームワークでも可能かどうか疑問に思っています(おそらく異なる構文/アプローチを使用しています)。解決策がある場合は、それが WSDL と互換性があるかどうかも知りたいです (クライアントは C++、Python、または Java の任意の言語で記述できるため、解決策は WSDL と互換性がある必要があると思います)。

4

0 に答える 0