我创建了一个名为“movie_db”数据库,设置默认模式,以APP。 然后创建了一个名为“用户”的样本表。
我对DB连接如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="url" value="jdbc:derby://localhost:1527/movie_db"/>
<property name="username" value="root"/>
<property name="password" value="pass"/>
</bean>
现在我想写一些测试,并尝试执行以下查询:
SELECT * FROM USERS;
我能得到什么:
java.sql.SQLSyntaxErrorException: Table/View 'USERS' does not exist.
当我指定正是我使用的架构:
SELECT * FROM APP.USERS
一切工作正常。
我怎么能在我的查询忽略架构名称?
UPDATE:像布赖恩说,我创建了一个用户与我的默认架构的名称以及与此登录授权。 这是在查询中省略架构名称的最简单方法。 但仍然,如果我想使用多个模式的唯一方法是显式设置模式。