hoa*_*yen 8 string hibernate clob
假设我有一个班级:
class EventTransaction {
.....
private Clob dataXML;
public Clob getDataXML() {
return dataXML;
}
public void setDataXML(Clob dataXML) {
this.dataXML = dataXML;
}
}
Run Code Online (Sandbox Code Playgroud)
和Hibernate映射xml:
<property name="dataXML" type="java.sql.Clob">
<column name="XML" sql-type="CLOB"/>
</property>
Run Code Online (Sandbox Code Playgroud)
在java代码中,如何将String转换为Clob,反之亦然,以保存到数据库中:
Ex: EventTransaction et = new EventTransaction();
String xml = "fdfsafafafa";
et.setDataXML(convertStringToClob(xml));
HibernateTemplate.saveOrUpdate(et);
Run Code Online (Sandbox Code Playgroud)
你能帮忙解决一下如何实现convertStringToClob函数(String data);
谢谢,
Ami*_*deh 14
做这个
@Column(name='xml')
@Lob
private String dataXML;
public String getDataXML() {
return dataXML;
}
public void setDataXML(String dataXML) {
this.dataXML = dataXML;
}
Run Code Online (Sandbox Code Playgroud)
所以没有必要转换,一切都是由Hibernate完成的.
我使用注释显示它,使用.hbm.xml文件可以完成同样的事情.
这是我很久以前将Clob转换为String的代码.它意味着在实用程序类中使用.
public static String convertClobToString(Clob clob) throws IOException, SQLException {
Reader reader = clob.getCharacterStream();
int c = -1;
StringBuilder sb = new StringBuilder();
while((c = reader.read()) != -1) {
sb.append(((char)c));
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
如果我没有弄错,要创建一个Clob,你会做这样的事情
Clob myClobFile = new SerialClob("my string".toCharArray());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33055 次 |
| 最近记录: |