现在,我们使用JPA注释将id定义为String类型:
@Id
private String id;现在,我们希望在Mysql中将UUID保存为二进制文件,我知道JPA有一种方法来实现它,如下所示:
@Id
@Column(columnDefinition = "BINARY(16)")
private UUID id;但是要将字符串修改为java.util.UUID类型需要付出很大的努力,因为我需要修改大量的代码(大量的测试用例、其他调用等等,无论如何我们不能这样做)。
然后,我尝试使用JPA转换器将字符串转换为字节并保存它,但我发现JPA不允许在ID字段上定义转换器。
因此,请您提供一些可能的方法来将UUID保存为二进制文件,而无需更改原始的字符串类型。
发布于 2017-04-25 11:45:45
您可以使用uuid2,它提供了更广泛的类型范围供您选择:
@GeneratedValue(generator = "uuid2") @GenericGenerator(name = "uuid2", strategy = "uuid2") @Column(columnDefinition = "BINARY(16)") @Id private UUID id;https://stackoverflow.com/questions/43606386
复制相似问题