2011-09-28 2 views

답변

2

예, 가능합니다.

String xml = generate(data, dialect); 

    Configuration configuration = new Configuration(); 
    configuration.addXML(xml); 


public static String generate(Data pData, Dialect pDialect) { 
    StringBuilder sb = new StringBuilder(); 
    sb.append("<?xml version='1.0' encoding='UTF-8'?>"); 
    sb.append("<!DOCTYPE hibernate-mapping PUBLIC '-//Hibernate/Hibernate Mapping DTD//EN' " 
        + "'http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'>"); 
    sb.append("<hibernate-mapping>"); 
    sb.append(String.format("<class name='dummy' table='%s'>", pData.getTable())); 

    final IMyColumn primaryKeyColumn = pData.getPrimaryKey().get(0); 
    sb.append(addItem(pData, primaryKeyColumn, "id", pDialect)); 

    for (IMyColumn column : pData.getColumns()) { 
     if (!column.equals(primaryKeyColumn)) { 
      sb.append(addItem(column, PROPERTY, pDialect)); 
     } 
    } 
    sb.append("</class>"); 
    sb.append("</hibernate-mapping>"); 
    final String xml = sb.toString(); 
    //System.out.println(xml); 
    return xml; 
} 
관련 문제