【发布时间】:2023-11-25 14:27:02
【问题描述】:
我想为 Hibernate 编写一个自定义方言以支持 MYSQL 的 'LIMIT' 功能,但即使我注册了这样的功能
public class SiddheyMySQL57InnoDBDialect extends
MySQL57InnoDBDialect {
public SiddheyMySQL57InnoDBDialect(){
super();
registerFunction("LIMIT",
new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "limit ?1"));
registerFunction("MATCH", new SQLFunctionTemplate(
StandardBasicTypes.INTEGER, "match(?1) against (?2 in boolean mode)"));
}
}
但是当我用 HQL 编写这个查询时,hibernate 给了我一个异常
@Query("SELECT p FROM #{#entityName} p LIMIT(1)")
List<Product> getLimitedProducts(@Param("name") final String name);
是的,我在 application.properties 中添加了自定义方言的路径
【问题讨论】:
标签: java spring hibernate hql jpql