为 Mongo 文档和 JPA 实体共享相同的生成 ID
Share same generated id for Mongo Document and JPA Entity
是否可以将一个对象定义为 Entity 和 Document 并且 share/use 生成的相同 id 存储在数据库中? Mongo 需要字符串作为对象 ID(可以毫无问题地生成)但在 JPA 中无法生成字符串。如果使用 Long,它可以很容易地由 JPA 生成,但不能由 Mongo 生成。有什么办法可以实现吗?
@Entity
@Document
public class DocHeader {
@Id
@GeneratedValue
private Long id;
}
你可以使用uuid策略:
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid" )
private String id;
您也可以使用 guid 生成字符串 id :
@Id
@GeneratedValue(generator = "guid" )
@GenericGenerator(name = "guid", strategy = "guid")
private String id;
是否可以将一个对象定义为 Entity 和 Document 并且 share/use 生成的相同 id 存储在数据库中? Mongo 需要字符串作为对象 ID(可以毫无问题地生成)但在 JPA 中无法生成字符串。如果使用 Long,它可以很容易地由 JPA 生成,但不能由 Mongo 生成。有什么办法可以实现吗?
@Entity
@Document
public class DocHeader {
@Id
@GeneratedValue
private Long id;
}
你可以使用uuid策略:
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid" )
private String id;
您也可以使用 guid 生成字符串 id :
@Id
@GeneratedValue(generator = "guid" )
@GenericGenerator(name = "guid", strategy = "guid")
private String id;