【问题标题】:SpringData mapping entities without annotations没有注释的 Spring Data 映射实体
【发布时间】:2018-01-30 23:08:49
【问题描述】:

我有一个包含实体的 jar,其中的代码我不能修改或做任何事情,只能使用它们,我必须使用那个 jar。

我正在尝试使用这些实体将它们持久保存在 mongodb 中,并且我正在使用 Spring,所以我选择了 SpringData 而不是 Hibernate(也是因为我阅读了一些导致我选择 SpringData 而不是 Hibernate NoSQL impl 的内容)。无论如何,我无法让它工作,因为我还没有找到任何方法来设置集合的属性,比如索引、唯一性、复合索引等。现在我可以存储它以及除了由于无法正确配置我的实体,我失去了很多 mongo 功能。

我在寻找不需要修改现有代码的 xml 配置或其他形式的映射。

到目前为止,我能想到的唯一“解决方案”是

  1. 通过插入一些虚拟数据创建集合,将其删除,然后使用 WriteConverter 和 ReadConverter 进行映射。

  2. 在我的代码中复制完全相同的实体并将它们添加到相应的注释中,然后将它们转换为 jar 中的那些,但这是我最后的手段。

有什么想法或替代解决方案吗?

谢谢。

【问题讨论】:

  • 我什至会概括这个问题,如果有人不想用第三方注释(如 Sprint Data 中的注释)污染域对象怎么办。对于类似的 mixins 问题,Jackson 有一个解决方案。
  • 是的,我正在寻找那个(不是杰克逊部分),但什么也找不到。但你是对的,我应该对这个问题更笼统。

标签: java spring-data spring-data-mongodb


【解决方案1】:

您可以在 orm.xml 中使用带有 xml 映射的 Hibernate,它包含将类映射到关系数据库表所需的所有配置详细信息。这些细节包括实体类的主键和要应用于主键的各种约束/规则。

欲了解更多信息,您可以查看此链接enter link description here

这个enter link description here是一个如何使用Spring数据的例子

【讨论】:

  • 第二个链接是 JPA 特定的格式,每个 Spring Data 模块是否有类似的东西?专门用于 mongoDB?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-04
  • 2015-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
相关资源
最近更新 更多