最近在做一个项目,在表单定义这块不确定属性个数,故选用clob字段进行存储,clob存储xml结构的字符串,具体如下:
1、对象转换为字符串
2、字符串反转为对象
3、Hibernate配置
对于clob字段 将类型设置为text接口
1、对象转换为字符串
点击(此处)折叠或打开
- public String getString(List itemList) {
- Document document = DocumentHelper.createDocument();
- Element rootNode = document.addElement("root");
- for (Iterator i = itemList.iterator(); i.hasNext();) {
- Element itemNode = rootNode.addElement("item");
- Item item = i.next;
- Element childNode = itemNode.addElement("filed1"):
- childNode.setText(item.getItemFiled1());
- childNode = itemNode.addElement("field2");
- childNode.setText(item.getItemFiled2());
- .......
- }
- return document.asXML;
- }
2、字符串反转为对象
点击(此处)折叠或打开
- public List getObject(String text) {
- Document document = null;
- try {
- document = DocumentHelper.parseText(text);
- } catch (DocumentException e) {
- e.printStackTrace();
- }
- if(document == null){
- return null;
- }
- Element root = document.getRootElement();
- List items = root.elements(“item”);
- List itemList = new ArrayList();
- for(Iterator i = items.iterator(); i.hasNext();){
Element item = i.next();
Item item = new Item(); -
String elementText = item.elementText(filed1);
item.setItemField1(elementText == null ? "" : elementText); - elementText = item.elementText(filed2);
item.setItemField2(elementText == null ? "" : elementText); - itemList.add(item);
- }
- return itemList
- }
-
对于clob字段 将类型设置为text接口
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10712951/viewspace-1068838/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10712951/viewspace-1068838/