将 EntityManager 与表 API 结合使用
我正在开发 Java Web 应用程序,出于安全原因希望通过数据库 API 访问数据库 (PostgreSQL)。数据库的API是由数据库函数构建的。
如何使用 EntityManager 调用 API 函数?我找到了一种使用本机查询的方法,但我认为 ORM 已经所剩无几了。例如,有没有办法将entityManager.persist() 方法引导到数据库函数之一?
I'm working on a Java webapplication and want to access the database (PostgreSQL) via an database API for security reasons. The API of the database is built by database functions.
How can I call the API functions with an EntityManager? I figured out a way with native queries, but I think then there is not much left of ORM. Is there a way for example to lead the entityManager.persist() method to one of the database functions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不是一个好主意。 JPA 的全部意义在于标准化数据库访问和映射到对象层的方式。如果您想使用本机数据库功能,那么您应该使用 JDBC,可能通过 SpringJDBCTemplate 或其他一些可以减轻一些痛苦的工具。如果您真的想惩罚自己,您可以随时创建自己的 EntityManager 实现并在您的类中使用它。
This is not a good idea. The entire point of JPA is to standardize the way the database is accessed and mapped to the Object layer. If you want to use native DB functions then you should use JDBC, possibly via SpringJDBCTemplate or some other tool that eases some of the pain. If you really feel like punishing yourself though, you could always create your own implementation of EntityManager and use that in your classes.