我应该如何用JPA保存UUID?

时间:2012-09-10 19:05:06

标签: java jpa uuid

我应该如何使用UUID和JPA?

我应该将随机UUID值分配给我班级的String字段吗?或者我应该有一个类型为UUID的字段,并在我想将其映射到列时对其执行其他操作?

1 个答案:

答案 0 :(得分:2)

这取决于数据库。
有一些数据库,如H2,MSSQL和PostgreSQL,支持uniqueidentifer类型。
对于这些类型,您可以扩展提供的Dialect(即 - PostgreSQLDialect)并添加新类型的处理。
对于MSSQL和Postgresql,我基于以下post实现了类似的东西。
对于不支持uniqueidentifier / UUID类型的数据库,应使用String。
这意味着您还应该问自己,您的应用程序是否必须支持多个数据库供应商,或者您是否可以坚持使用单个供应商(然后选择第一个选项,如果适用)。