2011-09-30 100 views
3

我需要在运行时生成类,每个类都映射到数据库表。这样的类是ORM中使用的模型类。java在运行时生成类文件

当客户指定一个数据库表,为相应的模型类的存在,我的应用程序检查工作,如果它不存在,生成它加载使用和保存它,所以下一次我们不需要生成该类再次

我的问题是:

  1. 这可能吗?
  2. 什么开源库用于在运行时生成类?

说明如何生成简单的POJO类的一些示例代码是值得欢迎的!

最好的问候!

回答

6

是的,这是可能的。而且你不需要一个外部库。 JDK提供你需要的一切:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); 
int compilationResult = compiler.run(null, null, null, fileToCompile); 
if (compilationResult == 0) { 
    System.out.println("Compilation is successful"); 
} else { 
    System.out.println("Compilation Failed"); 
} 

退房的JavaCompiler文档。

+0

谢谢。这是一个相当可观的方法!但生成源代码对我来说也很难。 – CaiNiaoCoder