IntelliJ IDEA 10从DB模型生成实体(POJO)

pie*_*rre 69 database intellij-idea pojo

如何使用IntelliJ IDEA 10从数据库模型生成实体(POJO).我在IntelliJ中创建"数据源",但我不知道如何生成POJO.

zpo*_*kas 122

更新:
在IntelliJ 16中,此功能现已实现.执行此操作的步骤如下:
1.数据库视图上下文菜单
2.脚本扩展
3.生成POJO


您可以在此处阅读更多内容:
功能请求:允许"为数据库模式生成类",以供普通JDBC开发人员使用


首先你需要告诉intelliJ你正在使用Hibernate(我猜你是否需要表的orm pojo)

  1. 转到"项目结构"(alt+ ctrl+ shift+ s)
  2. 在"项目设置"中选择"模块"
  3. 按下+并在模块中添加Hibernate facet.

现在你已经设置了你的hibernate配置方面,你可以提取你的pojos.

  1. 在右下角水平面板中,您将看到一个名为"持久性"的选项卡(如果您找不到持久性选项卡,则可以通过选择"视图">"工具窗口">"持久性"来显示它
  2. 在那里,您可以右键单击名为您的模块的休眠图标
  3. 转到"生成持久性映射" - "按数据库架构"
  4. 现在我想你可以找到自己的方式......
  5. 在常规设置中,选择要使用的数据源,现在可以查看数据源对象中的所有表
  6. 现在你可以做很多事情,添加与+符号的关系,更改pojo属性的名称和类型等.注意:如果你收到错误并且"OK"被禁用,可能是因为intelliJ为你找到的数据类型pojo无效.只需将其更改为您需要的那个就可以了!

  • 这些方面仅在Ultimate版本中提供 (9认同)
  • 也可以使用JPA facet (4认同)
  • 非常感谢.我只能添加:如果找不到步骤1中提到的持久性选项卡或面板,可以通过选择"视图">"工具窗口">"持久性"来显示它. (4认同)
  • 在“现在我想您可以找到自己的路”之后,它对我来说失败了。我选择源和表格。然后,它需要“映射XML”或“ JPA批注”。选择映射XML时,无法输入目录。当我选择注释时,它想要一个会话工厂,当我尝试添加会话工厂时,它抱怨没有源根,但是有一个源根。它还说它想要一个“持久性单元”。如果我为每个实体选择单独的XML,则表示执行OR生成,但是什么也没有生成。 (2认同)

ari*_*tll 8

处理带有下划线的表时,默认的Scripted Extensions Generate POJOs.groovy不是很好(这很常见).

所以我做了一些修改.

主要代码

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]
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到整个要点https://gist.github.com/aristotll/ad799a7462e8b705b26103944cca24a6