我需要找到一种使用JPA插入带有属性的实体的方法。其中一个属性表示一个十六进制字符串。由于使用的DB和其他要求,我不得不使用语法X 'stringValue'将此字符串插入DB。
不幸的是我没有找到任何方法来插入这个语法,我尝试用@Query(native sql)和@Columntransformer(X '?'),但是没有任何帮助,因为问号总是被用作字符串,因为它是单引号。
我会需要这样的东西:Hibernate: insert into table (SPECIAL_COLUMN, NORMAL_COLUMN) values (X'?', ?)
1条答案
按热度按时间4smxwvx51#
实现一个AttributeConverter,属性在保存到DB之前,会使用
convertToDatabaseColumn()
计算其值,当从DB中读取该属性时,会使用convertToEntityAttribute()
转换DB中的值,然后设置为该属性。简而言之,它可以如下所示:
然后将其用于特定属性: