How can I generate entity (POJO) from database model using IntelliJ IDEA 10. I create \"Data source\" in IntelliJ but I have not any idea how can I generate the POJO.
UPDATE:
In IntelliJ 16 this feature in now implemented.
The steps to do it are:
1. Database view context menu
2. Scripted Extensions
3. Generate POJOs
You can read more here:
Feature request: allow "generate classes from database schema" for plain-JDBC developers
Note: The following information is about version 15 and earlier:
First, you need to tell IntelliJ that you are using Hibernate (I guess you are if you need the orm POJO of the table)
Now you have set up your hibernate configuration facet you can extract your POJOs.
The default Scripted Extensions Generate POJOs.groovy
is not very good when dealing with tables with underscore(which is very common).
So I make some modifications.
The main code
def calcFields(DasObject table) {
DasUtil.getColumns(table).reduce([]) { fields, col ->
def spec = Case.LOWER.apply(col.dataType.specification)
def typeStr = typeMapping.find { p, t -> p.matcher(spec).find() }.value
fields += [[
name : javaName(col.name, false),
type : typeStr,
annos: """
/**
* $col.comment
*/"""]]
}
}
static String javaName(String str, boolean capitalize) {
def s = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, str);
capitalize || s.length() == 1 ? s : Case.LOWER.apply(s[0]) + s[1..-1]
}
You can find the whole gist here https://gist.github.com/aristotll/ad799a7462e8b705b26103944cca24a6