2017-04-03 128 views
0

是否可以将一个对象定义作为实体和文档共享/使用相同的生成ID存储在数据库中? Mongo需要String作为对象id(可以毫无问题地生成),但是在JPA String中不能生成。在使用Long的情况下,它可以很容易地由JPA生成,但它不能由Mongo生成。有什么办法可以做到这一点?为Mongo文档和JPA实体共享相同的生成ID

@Entity 
@Document 
public class DocHeader { 

    @Id 
    @GeneratedValue 
    private Long id; 
} 

回答

1

您可以使用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; 
+0

它的工作原理。谢谢 – Adam