hibernate正转(根据POJO生成xml)
一般用hibernate都是用它的反转功能,就是根据数据表,生成xml,然后再生成pojo的实体,但是我需要反过来搞,要据pojo的实体生成xml.进而生成数据表,能不能这样做,怎样做,有知道的高手给解答下,万分感激
[最优解释]
哥 你 另外一个帖子 不是 给你答案了吗!看最后的我的 回答,不需要XML文件 直接注解。就可以自动创建表了。
你如果一定要根据pojo 声成xml 文件
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.Field;
public class kkkk {
private String ma;
private String userpassword;
public String getMa() {
return ma;
}
public void setMa(String ma) {
this.ma = ma;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}
public static void main(String[] args) throws Exception {
StringBuilder builder=new StringBuilder();
StringBuilder builderxml = new StringBuilder();
builder.append("create table user (");
builderxml.append("<? xml version = '1.0' encode='UTF-8'>");
for(Field a :kkkk.class.getDeclaredFields()){
if(a.getName().equals("ma")){
builder.append(" username varchar(10) , ");
builderxml.append("some username xml file \n");// please asseme xml by yourself
}
if(a.getName().equals("userpassword")){
builder.append(" userpassword varchar(20) ");
builderxml.append("some userpassword xml file");// please asseme xml by yourself
}
}
builder.append(")");
System.out.println(builder.toString());// create table sql by pojo
File hbmfile = new File("/user.hbm.xml");
FileWriter fileWriter = new FileWriter(hbmfile); // create hbm.xml file by pojo
System.out.println(hbmfile.getAbsolutePath());
byte[] a = builderxml.toString().getBytes();
fileWriter.write(builderxml.toString(), 0, builderxml.toString().length());
fileWriter.flush();
fileWriter.close();
}
}