我正在尝试使用hibernate在Mysql(5.0.67)中保留一个字符串对象。
我的实体如下:
@Entity
@Table(name = "info", schema = "DB")
public class info {
@Column(name = "InfoXml")
private String InfoXml;
}
问题在于我将xml持久化为值:
String InfoXml = "<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r\n<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">\r\n<properties>\r\n<entry key="Hello">hi</entry>\r\n</properties>";
数据库表列显示唯一的值:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
坚持下去。
xml的其余部分正在消失,没有任何痕迹。
稍微调查一下,我发现任何包含'\ r \ n'(下一行)的字符串都会被持久化,直到下一行,而其余的字符串都不会保留。
这里发生了什么?什么是解决方法?
提前致谢
与Ashish
答案 0 :(得分:0)
MySQL的列类型是什么?如果它是VARCHAR,请尝试使用TEXT类型。我不太了解MySQL,但我猜它是截断文本的数据库,而不是休眠。
答案 1 :(得分:0)
问题解决了。
我使用的是Mysql GUI工具,它没有显示多行的列。
检查mysql终端中的表数据,一切看起来都不错。
感谢那些迅速作出回应的人。
与Ashish