maven - Querydsl-sql 用 schema 指定表名
问题描述
我想实现以下目标:
我想querydsl-jpa
和querydsl-sql
旁边一起使用。SQL 版本,用于我不能将 jpa 和 JPA 用于所有其他事情的情况。为了避免在构建时决定在哪里连接应用程序,我想将 SQL 类提交到存储库中(因此不需要将构建连接到数据库)。
我不能使用 jpa 的用法最少,因此我想隐式指定我想生成QS
类的表(QS 是我为 Querydsl-sql 类选择的前缀,Q 是 Querydsl-jpa 类的前缀) .
我在文档中发现可以使用tableNamePattern
. 我正在配置querydsl-maven-plugin
这样的(该插件只能用于特定的 Maven 配置文件,所以当我不指定此配置文件时,应用程序应该能够在没有与数据库的任何连接的情况下构建,它应该只使用提交的生成类)。
<configuration>
<jdbcDriver>org.postgresql.Driver</jdbcDriver>
<jdbcUrl>jdbc:postgresql://localhost:5432/db</jdbcUrl>
<jdbcUser>db</jdbcUser>
<jdbcPassword>pw</jdbcPassword>
<packageName>querydsl</packageName>
<targetFolder>querydsl</targetFolder>
<namePrefix>QS</namePrefix>
<nameSuffix>Bo</nameSuffix>
<tableNamePattern>table_name,another_table</tableNamePattern>
<sourceFolder/>
</configuration>
但。我的数据库中有 2 个模式。让我们命名它public
和internal
。
我的问题是:如何在配置中指定表的架构tableNamePattern
?
如果我只有公共版本table_name
,它会生成一个 QsTableNameBo 类。但是,如果两个模式中有 2 个同名的表,我想明确地说,只从公共生成 QS 类。
我试过类似的东西,public.table_name
但插件没有产生任何输出。