2017-04-03 132 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