在MySQL中为二进制主键实现带有Hibernate的自定义IdentifierGenerator

时间:2016-04-09 18:41:42

标签: java mysql hibernate

要求 - 在二进制(20)类型的MySQL表中使用主键,其中前4个字节表示当前时间戳(以秒为单位的纪元),其余16个字节表示Type5(基于名称)UUID(删除破折号)。 / p>

实施例。 57093200aee62cab765950a48ef887bcfe87a065(57093200是纪元的十六进制表示),剩余的是UUID的十六进制表示,没有短划线

我相信这可以通过hibernate 4.2+来实现,但是很难获得一个可行的模型

GetAllAsync()

需要指导

1 个答案:

答案 0 :(得分:0)

在Generator类中,您只需要实现方法

Serializable generate(SessionImplementor session, Object object)
IdentifierGenerator 接口的

https://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/id/IdentifierGenerator.html
(基本上你可以按照你的描述返回String格式)