I need to generate class at runtime, each class is mapped to a database table. Such class is model class used in ORM.
When client specify a database table to work with, my application check for existence of corresponding model class , if it does not exist, generate it and load it for use and save it, so next time we don't need to generate this class again
my question is:
some example code that illustrating how to generate simple POJO class is welcome!
best regards!
Dynamic Class creation enables you to create a Java class on the fly at runtime, from source code created from a string. Dynamic class creation can be used in extremely low latency applications to improve performance.
To create a new Java class or type, follow these steps: In the Project window, right-click a Java file or folder, and select New > Java Class. Alternatively, select a Java file or folder in the Project window, or click in a Java file in the Code Editor. Then select File > New > Java Class.
File > New > Class It is the wizard to create new Java class in Eclipse.
For Compiling: After compilation there will be 3 class files in corresponding folder named as: Sample. class.
Yes, this is possible. And you don't need an external lib. The JDK provides everything you need:
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");
}
Check out the JavaCompiler docs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With