最近では、誰もがアノテーションを使用してデータを保持しているようです。
なぜこれが問題なのですか?
持続性の注釈は、選択した持続性 API に固有です。MySQL を使用する場合は @Entity を使用し、Couchbase を使用する場合は @Document を使用する必要があります。
大規模なプロジェクトでは、通常、オブジェクトをモデル化する API レイヤーがあります。このレイヤーには、データベース固有のものへの依存関係があるか、少なくともあるべきではありません。
public class User implements IUser {
private String email;
private String id;
private String password;
private String username;
したがって、ここでは @Document を使用できません。
データベース/永続層には現在、この spring-data リポジトリのみがあります
public interface IUserRepository extends CrudRepository<IUser, String> {}
および構成クラス
@Configuration
@EnableCouchbaseRepositories
class CouchbaseConfiguration extends AbstractCouchbaseConfiguration {
XML ベースの構成例を見つけることを期待していましたが、アノテーションは何もありませんでした。
どうすればこの問題を解決できますか?
オブジェクト マッピングのための XML ベースのアプローチはありますか?
そうでない場合、API レイヤーを汚染することなくこれをどのように解決できますか?