Jpa 如何将命名查询转换为sql查询?
我想在JPA2.1中将“命名查询”转换为“SQL查询”,并在运行它之前对其进行更改Jpa 如何将命名查询转换为sql查询?,jpa,Jpa,我想在JPA2.1中将“命名查询”转换为“SQL查询”,并在运行它之前对其进行更改 例如,我有一个命名查询: 从CU.CODE=?1的客户中选择CU 我希望在PAR之后获取查询,并对其进行转换和编辑(例如添加架构名称),然后创建此查询: 从db1.cc1cust cu中选择*其中cu.cc1cod=?1 我该怎么做 关于可以在实体的@Table注释或orm.xml文件中指定数据库架构 在EclipseLink中,还可以使用SessionCustomizer中的tableQualifier设置模式
例如,我有一个命名查询: 从CU.CODE=?1的客户中选择CU 我希望在PAR之后获取查询,并对其进行转换和编辑(例如添加架构名称),然后创建此查询: 从db1.cc1cust cu中选择*其中cu.cc1cod=?1 我该怎么做
关于可以在实体的@Table注释或orm.xml文件中指定数据库架构 在EclipseLink中,还可以使用SessionCustomizer中的tableQualifier设置模式 在JPQL中,没有办法立即更改模式 要在EclipseLink中获取JPQL查询的SQL,可以在DatabaseQuery上使用getSQLString(),请参阅, 如果您试图实现多租户支持,您可能希望调查EclipseLink的多租户支持
你有没有一个你想要实现的例子?如果是这样,请在此处发布。例如,我有一个命名查询:从CUSTOMER中选择CU,其中CU.CODE=?1,我想在PAR后获取查询,并对其进行转换和编辑(例如添加架构名称),然后创建此查询:SELECT*FROM db1.cc1cust CU,其中CU.cc1cod=?1请将您的问题和其他信息发布到此处,而不是在人们不容易看到的评论中。谢谢。:-)在重新阅读您的问题后,我意识到您试图做的基本上是一个带有JPA的多租户设置。这是不可能的,架构名称不是动态的。即将推出的Hibernate5将支持这种类型的功能,但它目前还没有在JPA中处理。