2017-02-24 1 views
1

私たちは、RESTfulなAPI(サーバー)を持つwebapp(クライアント)を開発しています。どちらのプロジェクトも同じドメインを使用していますので、すべてのPOJOを含む3番目のプロジェクトを作成しましたので、チームと共有できます。マッピングなしでPOJOを共有するにはどうすればいいですか?

問題はサーバー側では、これらのPOJOをマッピングしているため、データベースに簡単に永続化できるということです。

@Document(collection="companies") 
public class Company { 

    @Id 
    private final String nif; 
    @Indexed(unique=true) 
    private String name; 

それでは、どのように私はPOJOをマッピングし、余分な依存関係を保存するの横にあるんだということを意識することなく、私のチームのドメインを共有することができます。

+1

エンティティモデルからクライアントとサーバー間のデータ転送を切り離すためにDTOを使用してください – dunni

+0

エンティティ/モデル/ dtoの定義に誤解がありますので、私の答えを削除してください。 – dimitrisli

答えて

0

私のソリューションは、@dunniが指摘している正確に何である注釈を適用するには、サーバー上のミックスインを使用できるようになります:エンティティ+ MapStructから切り離すことのDTOを使用して(クレジットをします@ dimitrisli)。

共有POJOはDTO(アノテーションなし)になり、サーバー側ではエンティティ(アノテーション付きのpojos)を使用します。 MapStructを使用してDtoからエンティティに変換し、逆に変換します。

0

私は春に精通していませんが、他のフレームワークではmixinsを使用できます。これにより、起動時に注釈を上書きまたは追加することができます。

これはあなただけでPOJOを配布し、その後、

関連する問題