什么MySQL数据类型将存储此Java BigInteger?

我正在使用Java 6,Hibernate 4.1.0.Final和Spring 3.1.1.RELEASE.我有一个字符串(最多32个字符),我希望转换为一个数字,然后再返回一个字符串.我想知道我应该使用什么MySQL(v 5.5)数据类型来存储数字(我认为是BigInte...

我正在使用Java 6,Hibernate 4.1.0.Final和Spring 3.1.1.RELEASE.我有一个字符串(最多32个字符),我希望转换为一个数字,然后再返回一个字符串.我想知道我应该使用什么MySQL(v 5.5)数据类型来存储数字(我认为是BigInteger),我还想知道是否有更好的方法来进行转换.现在,我正在做

// Convert to integer
final BigInteger bigInt = new BigInteger(myString.getBytes());

// Convert back to a string
final String oldString = new String(bigInt.toByteArray());

有问题的字段上的Hibernate映射是

@Column(name = "ORDER_ID")
private BigInteger orderId;

谢谢你的帮助, –

解决方法:

查看NUMERIC数据类型.我用它来存储长达39位的非常大的十进制数.

数据库字段的类型为“NUMERIC(39)”.

使用的hibernate映射是:

<property name="foo" type="big_integer" column="ORDER_ID" length="39"/>

要从十六进制字符串将字符串转换为BigInteger,请使用:

BigInteger bigInt = new BigInteger(myString, 16);

本文标题为:什么MySQL数据类型将存储此Java BigInteger?

基础教程推荐