在Java中设置默认模式名

在Java中设置默认模式名,java,sql,database,oracle,schema,Java,Sql,Database,Oracle,Schema,我正在从Java代码执行以下查询: SELECT * FROM JSTORE.EMPLOYEE 其中“JSTORE”是架构名称,“EMPLOYEE”是表 我是否可以将模式名设置为用作JSTORE,这样就不必总是在查询中指定它?我使用的是Oracle数据库。如果该架构名称与应用程序用于连接数据库的用户名相同,则无需指定架构名称(通过Java或SQL*Lite) 如果模式名称因应用程序而异,那么我可能会在SQL中提供模式名称,以避免错误。试想一下,如果在连接池中更改会话,会出现什么问题。它仍然可以

我正在从Java代码执行以下查询:

SELECT * FROM JSTORE.EMPLOYEE
其中“JSTORE”是架构名称,“EMPLOYEE”是表


我是否可以将模式名设置为用作JSTORE,这样就不必总是在查询中指定它?我使用的是Oracle数据库。

如果该架构名称与应用程序用于连接数据库的用户名相同,则无需指定架构名称(通过Java或SQL*Lite)


如果模式名称因应用程序而异,那么我可能会在SQL中提供模式名称,以避免错误。试想一下,如果在连接池中更改会话,会出现什么问题。它仍然可以配置,并且可以使用一些Java代码为您自动生成SQL(您可能无论如何都应该拥有该SQL)。

如果该模式名称与您的应用程序用于连接数据库的用户名相同,则无需指定模式名称(通过Java或SQL*Lite)


如果模式名称因应用程序而异,那么我可能会在SQL中提供模式名称,以避免错误。试想一下,如果在连接池中更改会话,会出现什么问题。它仍然可以配置,并且可以使用一些Java代码为您自动生成SQL(您可能无论如何都应该有SQL)。

您可以执行以下SQL:

ALTER SESSION SET CURRENT_SCHEMA=JSTORE
请注意,您需要为每个now连接执行此操作(一个Oracle会话==一个Java连接对象)


使用池连接时要小心;如果它们需要不同的架构,您需要在将它们返回池之前恢复默认值。

您可以执行以下SQL:

ALTER SESSION SET CURRENT_SCHEMA=JSTORE
请注意,您需要为每个now连接执行此操作(一个Oracle会话==一个Java连接对象)


使用池连接时要小心;如果它们需要不同的模式,您需要在将它们返回池之前恢复默认模式。

可能,在用于连接数据库的JDBC URL中。但是,如果,以及如何,取决于您使用的数据库和JDBC驱动程序。也许,在您用于连接数据库的JDBC URL中。但是,如果,以及如何,取决于您使用的数据库和JDBC驱动程序。