为什么Oracle在HEX中显示RAW列值?

时间:2016-08-10 16:57:56

标签: oracle

使用Spring Boot / Hibernate / Jpa 我有一个我定义的模型:

@Column(name="greenRange", nullable = true)
private int[] greenRange;


public int[] getGreenRange() {
    return greenRange;
}

public void setGreenRange(int[] greenRange) {
    this.greenRange = greenRange;
}

和一个简单的测试方法,它将范围设置为包含整数2和8的2元素数组。

现在,一旦值保持不变,该列的值为

  

ACED0005757200025B494DBA602676EAB2A50200007870000000020000000100000008

这可能是什么?

编辑:列的数据类型是RAW。 EDIT2:使用Oracle SQL Developer。我可以在再次访问实体后打印该值。

Array.length    array[0]  array[1]
[000000002][00000001][00000008]

?
[ACED0005757200025B494DBA602676EAB2A5020000787]

1 个答案:

答案 0 :(得分:-1)

我认为这可能是int []对象的十六进制表示。 请检查oracle文档: Overview of RAW and LONG RAW Datatypes

  

当Oracle数据库自动将RAW或LONG RAW数据转换为CHAR数据或从CHAR数据转换时,二进制数据以十六进制形式表示,其中一个十六进制字符表示每四位RAW数据。例如,显示一个具有位11001011的RAW数据字节并输入为“CB”。