如何为PostgresQuery配置命名策略?

时间:2016-07-20 12:38:49

标签: java querydsl

我正在使用Query DSL进行项目http://www.querydsl.com/

PostgresQuery postgresQuery = 
    new PostgresQuery(dataSource.getConnection(),
    PostgresTemplates.DEFAULT);

postgresQuery.from(tableName).list(tableName.columnOne);

上面的代码执行类似

的查询
select columnOne from tableName;

而它的假定执行(根据为JPA配置的命名策略)

select column_one from table_name;

不确定如何将entitymanager属性发送到PostgresQuery对象。有什么建议吗?

有关如何创建/使用ProjectableSQLQuery<PostgresQuery>的任何示例也会有所帮助。

1 个答案:

答案 0 :(得分:0)

根据生成的JPQL查询,您的QType似乎是

类型
  

(...扩展EntityPathBase&lt;&gt;)

并且应该与JPAQuery一起使用。

如果你想使用SQLQueryFactory,你应该使用querydsl-maven-plugin生成你的QTypes,它产生类型为

的QTypes
  

(...扩展com.querydsl.sql.RelationalPathBase&lt;&gt;)

请阅读此doc for details