java - 从数据库存储过程生成类的工具

标签 java postgresql entities

我有一个需要使用存储过程访问的数据库。 因此,对于每个存储过程的返回类型,我想创建一个实体。

pout 那里有什么工具可以为我生成这些实体类吗?甚至更喜欢可以生成代码以从存储过程中检索数据集的工具。

我完全支持 DRY 原则,所以如果我能生成这个,那就太好了!

我对 ORM、JPA、Hibernate 或其他任何东西都不感兴趣,因为无论如何我都无法访问这些表。

我们使用的数据库是 PostgreSQL。

最佳答案

考虑使用 Spring 的 JdbcTemplateStoredProcedure 和相关类来节省您编写存储过程调用的工作。 Spring 对低级 JDBC 内容和以面向对象的方式访问数据库有很好的支持。

你可以使用 Velocity生成类以向存储过程提供 Java 接口(interface)。如果您有多个存储过程,那么编写 Velocity 模板可能是值得的。

作为生成的一部分,您可以自动化 Java 类型、JDBC 类型和 native 数据库类型之间的映射,它们之间通常存在细微差别,例如 java.util.Datejava.sql.Date 与数据库自己的日期类型,或者有很大的区别,例如LOB 和游标。

如果您的存储过程结果需要映射到复杂对象,即实体或域类,您可能必须自己编写这些,但您可以生成数据库接口(interface)并自动将结果映射到您的类。

关于java - 从数据库存储过程生成类的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6378957/

相关文章:

ruby-on-rails - 当我推送 Heroku 时,Sqlite3 出现问题

PHP DOM 和 JavaScript 以及 HTML 实体

java - <c :choose> not working in datatable

sql - 从后端在事务查询中提交空闲

java - UnsatisfiedLinkError:库已加载,但我仍然收到链接错误

python - 如何在 Postgres 的事务中使用 Sqlalchemy 创建表?

java - 调用父持久方法时,JPA 子进程不会持久

.net - Entity Framework 4.0 中的分层架构

Java - 简单的网络游戏非常滞后

java - 获取元素后用 br 分隔的值