Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不带注释的SpringData映射实体_Java_Spring Data_Spring Data Mongodb - Fatal编程技术网

Java 不带注释的SpringData映射实体

Java 不带注释的SpringData映射实体,java,spring-data,spring-data-mongodb,Java,Spring Data,Spring Data Mongodb,我有一个包含实体的jar,我不能修改这些实体的代码,也不能使用它们,我必须使用这个jar 我试图使用这些实体在mongodb中持久化它们,我使用的是Spring,所以我使用SpringData而不是Hibernate(也因为我读到一些东西,导致我选择SpringData而不是Hibernate NoSQL impl)。无论如何,我无法使其工作,因为我找不到任何方法来设置集合的属性,如索引、唯一性、复合索引等。现在我可以存储它和所有内容,但由于无法正确配置实体,我正在丢失许多mongo功能 我寻找

我有一个包含实体的jar,我不能修改这些实体的代码,也不能使用它们,我必须使用这个jar

我试图使用这些实体在mongodb中持久化它们,我使用的是Spring,所以我使用SpringData而不是Hibernate(也因为我读到一些东西,导致我选择SpringData而不是Hibernate NoSQL impl)。无论如何,我无法使其工作,因为我找不到任何方法来设置集合的属性,如索引、唯一性、复合索引等。现在我可以存储它和所有内容,但由于无法正确配置实体,我正在丢失许多mongo功能

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

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

  • 通过插入一些伪数据创建集合,删除它,然后使用WriteConverter和ReadConverter进行映射

  • 在我的代码中复制完全相同的实体,并将它们添加到各自的注释中,然后将它们转换为jar中的实体,但这将是我最后的选择

  • 有什么想法或替代方案吗


    谢谢。

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

    有关更多信息,请查看此链接


    这是一个如何使用Spring数据的示例

    第二个链接是JPA特定的格式,每个Spring数据模块是否都有类似的内容?这里特别针对mongoDB?我甚至会概括这个问题,如果有人不想用第三方注释(如Sprint数据中的注释)污染域对象,该怎么办。Jackson有一个解决Mixin类似问题的方法。是的,我找的正是这个(不是Jackson部分),但什么也找不到。但你是对的,我应该更笼统地回答这个问题。