oracle 里边的long类型字段 使用fetch方法查询到的实体对象对应字段没有值。
是个bug吗?
12 回复
@Wizzercn @wendal
之前是将数据库的字段类型改为clob了。刚又想起这个问题,根据你们回复又测试了一下,给出测试步骤和结果:
实体类字段定义:
@Column("html")
public String html;
@Column("html_1")
public String html1;
数据库字段定义:
"HTML" CLOB DEFAULT NULL,
"HTML_1" LONG,
确定这两个字段有数据;
junit代码:
@Test
public void fetch() throws Exception {
System.out.println(Json.toJson(gis.fetch("0735D64C738B47C587FEE85720AD3AE3", 7)));
}
结果:
{
"id": "76BE4C03FC0149B5969C8576059D5CB2",
"itemSeq": 7,
"type": "P",
"html": "<div id=\"div-pro\" name=\"div-pro\">\r\n </div>"
}
结论:就是clob对应字段有值而long类型字段没值。
刚才的问题试了一下,数据库用number类型,POJO用String来映射也是可以拿到值的
@Column("html")
public String html;
@Column("html_1")
public String html1;
@Column("html_2")
public String html2;
"HTML" CLOB DEFAULT NULL,
"HTML_1" LONG,
"HTML_2" NUMBER(10,2)
fetch()
{
"id": "76BE4C03FC0149B5969C8576059D5CB2",
"itemSeq": 7,
"type": "P",
"html": "<div id=\"div-pro\" name=\"div-pro\">\r\n </div>",
"html2": "222"
}
添加回复
请先登陆