I don't know if this is even possible. Anyway, here is my problem: I want to create a Class having a database table schema, for example suppose that I have a table like
id - unsigned int
username - varchar(128)
password - varchar(128)
and let's assume I can query this data from my db. What I want to do is to dynamically create (and, of course, instantiate) a Java class that should look like this:
public class User{
private unsigned int id;
private String username;
private String password;
}
(actually an ActiveRecord
for my table)
Can you help me starting this? Tnks
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.
This class dynamically creates a module in the project. It inherits from the Module class in System. Reflection. Emit and impliments a _ModuleBuilder interface. This class also has no constructor, hence an object of the class can be created using the DefineDynamicModule function of the assembly builder class.
What would you do with a dynamically created and instantiated class that none of your other code knows about?
For a stically typed language like Java, it makes little sense to have such classes. On the other hand, most OR Mappers like Hibernate come with tools that allow you to statically generate classes from a database schema.
Technically, you can, via a bytecode manipulation library - CGLIB, javassist, asm, bcel and the likes.
However, this is not the Java "philosophy". Java is statically-typed, so you'd better create the classes before runtime.
Take a look at hibernate / eclipseLink for Java ORM - a way of mapping tables to objects.
I think what you want is the facility provided by java.lang.reflect.Proxy
and related classes.
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