Похоже, что в наши дни все используют аннотации для сохранения данных.
Почему это проблема?
Аннотации для сохранения зависят от выбранного 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?
spring-data
, поскольку проблема будет такой же с другими реализациями магазина, такими какspring-data-jpa
, верно? - person Simon Baslé   schedule 06.12.2016