javax.persistence.Id和org.springframework.data.annotation.Id有什么区别?

And*_*lko 19 java spring-data javax.persistence

我很想之间是否存在的差异javax.persistence.Idorg.springframework.data.annotation.Id.

  1. 如果Spring创建该注释仅用于支持JPA注释,那么为什么呢?
  2. 是否org.springframework.data.annotation.Id有另一个[附加]目的是什么?

meg*_*cio 27

org.springframework.data.annotation.Id目前,Spring使用它来支持其他非关系持久性数据库或没有定义的公共持久性API(如JPA)的框架的映射.因此,它通常用于处理其他弹簧数据项目,如spring-data-mongodb,spring-data-solr等.

javax.persistence.Id是JPA为其所有实现定义的注释.请记住,JPA仅适用于关系数据的管理.

  • 我知道您无法将 javax ID 用于非关系持久性,但是我可以在基本关系 JPA 实体上使用 Spring ID 吗?基本上始终使用 Spring ID 是否安全? (2认同)