SpringData (4.x) elastic 无法正确序列化实体



我正在使用spring-data-elasticsearch-4.0.1-RELEASE和elastic 7.6.2。在存储实体时,一些对象没有被正确地序列化。它的存储如下:

"ownerResource": {
"_class": "x.xxx.xxx.Resource$HibernateProxy$b6cxNN75"
}, ```

我的建议是:不要使用存储在关系数据库中的相同实体来存储它们在 Elasticsearch 中。

你从Hibernate或JPA得到的是一个实体,它基本上是你的实体类的代理,能够通过懒惰地获取属性来填充属性。

这就是你存储在 Elasticsearch(动态创建的代理类(中的内容。

如果在将实体存储在 Elasticsearch 中之前没有加载实体的属性,您希望在其中存储什么?

因此,为您的 Elasticsearch 实体创建一个类,从您的 JPA 实体复制相关/需要的数据并将其存储在 Elasticsearch 中。

最新更新