스프링 3.0환경에서 match().aginst() 커스텀 함수 사용 이슈
개요
- queryDsl에서는 사용자 정의 함수를 사용할 수 없기때문에 직접 등록해야하는 이슈가 발생
해결 방법
[MySQL클래스 작성]
public class CustomMySQLDialect implements FunctionContributor {
private static final String FUNCTION_PATTERN = "match (?1) against (?2 in boolean mode)";
@Override
public void contributeFunctions(FunctionContributions functionContributions) {
BasicType<Double> resultType = functionContributions
.getTypeConfiguration()
.getBasicTypeRegistry()
.resolve(StandardBasicTypes.DOUBLE);
functionContributions.getFunctionRegistry()
.registerPattern("match",FUNCTION_PATTERN,resultType);
}
}
[Config 작성]
@Configuration
public class HibernateConfig{
@Bean
public FunctionContributor customFunctionContributor() {
return new CustomMySQLDialect();
}
}
[파일 작성]
/resources/META-INF/services/org.hibernate.boot.model.FunctionContributor
team9499.commitbody.global.config.CustomMySQLDialect
스프링 3.0환경에서 match().aginst() 커스텀 함수 사용 이슈
개요
해결 방법
[MySQL클래스 작성]
[Config 작성]
[파일 작성]
/resources/META-INF/services/org.hibernate.boot.model.FunctionContributor