【发布时间】:2022-12-06 05:24:29
【问题描述】:
我正在尝试使用 gson 将一个对象转换为另一个对象。在转换 gson 时出现运行时异常:“无法为接口 java.sql.clob 调用无参数构造函数。为此类型向 gson 注册实例创建器可能会解决问题。”我不太确定为什么会发生此异常。下面是代码。
实体 1:
@Entity
@Table(name="Template")
public class TemplateData implements serializable{
@Column(name="template_id")
public Integer templateId;
@Lob
@Column(name="template_Data")
public Clob templateData;
@Lob
@Column(name="template_Total")
public Clob templateTotal;
public Integer getTemplateId(){
return templateId;
}
public void setTemplateId(Integer templateId){
this.templateId = templateId;
}
public Clob getTemplateData(){
return templateData;
}
public void setTemplateId(Clob templateData){
this.templateData = templateData;
}
public Clob getTemplateTotal(){
return templateTotal;
}
public void setTemplateTotal(Clob templateTotal){
this.templateTotal = templateTotal;
}
}
实体 2-
@Entity
@Table(name="Template_Audit")
public class TemplateAuditData implements serializable{
@Column(name="template_Audit_id")
public Integer templateAudtId;
@Column(name="template_id")
public Integer templateId;
@Lob
@Column(name="template_Data")
public Clob templateData;
@Lob
@Column(name="template_Total")
public Clob templateTotal;
public Integer getTemplateAuditId(){
return templateAudtId;
}
public void setTemplateId(Integer templateAudtId){
this.templateAudtId = templateAudtId;
}
public Integer getTemplateId(){
return templateId;
}
public void setTemplateId(Integer templateId){
this.templateId = templateId;
}
public Clob getTemplateData(){
return templateData;
}
public void setTemplateId(Clob templateData){
this.templateData = templateData;
}
public Clob getTemplateTotal(){
return templateTotal;
}
public void setTemplateTotal(Clob templateTotal){
this.templateTotal = templateTotal;
}
}
为模板数据创建一个对象,这个对象有一些数据。
TemplateData td = new TemplateData();
//td has some data and I am able to save the TemplateData using hibernate //trying to convert templatedata into templateauditdata
TemplateAuditData tad = new Gson().fromJson(new Gson().toJson(td), new TypeToken<TemplateAuditData>(){}.getType());
对象 'tad' 给我上面的运行时异常。
谁能帮我解决这个问题。我无法理解这个问题。 先感谢您。
【问题讨论】:
标签: json gson jsonconvert