使用JPA执行脚本函数
我正在使用一个在内存中运行的数据库(HSQL)进行单元测试。但在我的真实数据库中,我定义了一些函数,这些函数可能需要在内存中的数据库中进行测试使用JPA执行脚本函数,jpa,hsqldb,Jpa,Hsqldb,我正在使用一个在内存中运行的数据库(HSQL)进行单元测试。但在我的真实数据库中,我定义了一些函数,这些函数可能需要在内存中的数据库中进行测试 有没有一种方法可以使用Java代码在我的数据库中创建SQL函数?您始终可以使用EntityManager执行任何SQL。createNativeQuery: EntityManager em = ... em.createNativeQuery("CREATE FUNCTION ...").executeUpdate(); 您可以在应用程序启动时调用它
有没有一种方法可以使用Java代码在我的数据库中创建SQL函数?您始终可以使用EntityManager执行任何SQL。createNativeQuery:
EntityManager em = ...
em.createNativeQuery("CREATE FUNCTION ...").executeUpdate();
您可以在应用程序启动时调用它
备注:在Hibernate中,您需要用
\
转义任何:
,因为它试图替换SQL中的参数。您始终可以使用EntityManager执行任何SQL。createNativeQuery
:
EntityManager em = ...
em.createNativeQuery("CREATE FUNCTION ...").executeUpdate();
您可以在应用程序启动时调用它
备注:在Hibernate中,您需要用
\
转义任何:
,因为它试图替换SQL中的参数。我认为这不是一个好主意,对于测试,我建议模拟数据库。甚至有一个框架可以让这个设置变得非常简单:@Oceans,谢谢你的回答,我会试试的。但我必须在我的问题中坚持,是否存在这样做的方法,因为在我的测试中,我使用HSQL,在我的应用程序中,我使用PostgreSQL。我也有这样配置的东西。所以我想测试一下我的问题。你能帮我吗?我认为这不是一个好主意,对于测试,我建议模拟数据库。甚至有一个框架可以让这个设置变得非常简单:@Oceans,谢谢你的回答,我会试试的。但我必须在我的问题中坚持,是否存在这样做的方法,因为在我的测试中,我使用HSQL,在我的应用程序中,我使用PostgreSQL。我也有这样配置的东西。所以我想测试一下我的问题。你能帮助我吗?