0
테이블이 동적으로 생성되는 상황이 있는데 테이블 이름이 동적으로 제공되므로 매핑 파일 (.cfg.xml)을 어떻게 동적으로 만들 수 있는지 알고 싶습니다. ?최대 절전 모드에서 동적으로 매핑 파일을 만드는 방법은 무엇입니까?
감사합니다.
테이블이 동적으로 생성되는 상황이 있는데 테이블 이름이 동적으로 제공되므로 매핑 파일 (.cfg.xml)을 어떻게 동적으로 만들 수 있는지 알고 싶습니다. ?최대 절전 모드에서 동적으로 매핑 파일을 만드는 방법은 무엇입니까?
감사합니다.
예, 가능합니다.
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;
}
테이블 영구 또는 임시인가 :
나는 그런 짓을? – atrain