看起来现在每个人都使用注释来保存数据。
为什么这是个问题?
持久性注释特定于所选持久性 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 层的情况下解决这个问题?