在我看到的 95% 的示例中,人们正在向他们的域对象添加@Entity
或@Document
注释。
我想创建一个可以轻松更改持久层的应用程序。应该可以从设置切换SQL DB
到 exMongoDB
等。
我想让我的域对象完全独立于持久层。
Item
域对象在哪里。
public interface ItemsRepository {
List<Item> getItems();
}
每个ItemsRepository
实现都有它自己的专用持久层对象。对于 SQL,假设是ItemEntity
类,对于 MongoItemDocument
类。并且每个持久对象都有与域对象的转换。
这样的方法可以接受吗?如果不是,解决该问题的最佳行业模式是什么?