java Spring Data的CrossStore持久性支持Document>JPA还是Collections?
我正在评估当前项目的跨商店设计,我们正在考虑同时使用MySQL和MongoDB
独立地,这些产品的弹簧支持都非常出色。然而,跨店支持似乎更具优势
读完documentation之后,我还有几个问题:
doucmentation提到了对JPA实体的跨存储支持,该实体包含一个作为@Document
持久化的属性。是否存在相反的支持?也就是说,我可以将MongoDB文档作为父文档,其中包含对JPA实体(或实体集合)的引用吗
例如:
@Document
public class Product
{
@Entity?
private Manufacturer manufacturer;
@CollectionOfEntities?
private List<Review> reviews
}
类似地,是否支持持久化包含文档集合的JPA实体
例如:
@Entity
public class Shop
{
@Id
private Long id;
// Product is a MongoDB @Document
private List<Product> products;
}
这是否得到支持
考虑到跨商店持久性是如此之新,有什么资源可以用于设计最佳实践或避免陷阱吗
# 1 楼答案
我不确定交叉商店。但是,EclipseLink(从2.4开始)支持MySQL和MongoDB的JPA,并支持复合持久性单元,允许跨持久性单元建立关系