我正在使用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);