hibernate正转(根据POJO生成xml) 一般用hibernate都是用它的反转功能,就是根据数据表,生成xml,然后再生成pojo的实体,但是我需要反过来搞,要据pojo的实体生成xml.进而生成数据表,能不能这样做,怎样做,有知道的高手给解答下,万分感激 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我只知道可以根据POJO类和对应的xml映射文件可以生成数据库中的表。 不能根据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(); } }自己 看看了 还有 一点 非常不理解 你为什么要这么做,在正常的项目中,都是先设计好业务逻辑关系,即数据库表,然后再开始编写代码,一般情况 不允许根据POJO逆向生成,会造成业务关系紊乱,及后期维护困难。如果后期需要加表,说明前期数据库表逻辑关系没有设计好!!!楼主应该是初学者(我也是了) 编程发展到今天,一个项目先用UML描述软件需求,转为实体POJO类,再以POJO类来分析系统,才能真正的从面对对象的角度去实现。先建数据表的方式,应当是结构化程序的时代产物。 用java+jsp做网站 请教一个struts里java.lang.ClassCastException的问题!~ 在线等! 业务逻辑层该怎么做? 乱码的问题。。。求助!!! 迷茫中,寻求帮助,散分!!!! 处理用户提交的空格及HTML代码问题!望有识之士指点一二! 怎样判断从jsp页面中提交过来的是"中文字符串" 请问在Tomcat里面怎样设置自己的目录呀? 我在Servlet返回的json,在jsp的js代码中解析不了 求大神 速度 解决呀 SSH集成开发,报错 获取FTP服务器指定目录内容的问题
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();
}
}自己 看看了