Od Hibernate 5.2.18 możesz używać narzędzia MetadataBuilderContributor do dostosowywania MetadataBuilder, nawet jeśli ładujesz za pomocą JPA.
MetadataBuilderContributor
interfejs można zaimplementować w następujący sposób:
public class SqlFunctionsMetadataBuilderContributor
implements MetadataBuilderContributor {
@Override
public void contribute(MetadataBuilder metadataBuilder) {
metadataBuilder.applySqlFunction(
"group_concat",
new StandardSQLFunction(
"group_concat",
StandardBasicTypes.STRING
)
);
}
}
Możemy też udostępnić SqlFunctionsMetadataBuilderContributor za pomocą właściwości konfiguracyjnej hibernate.metadata_builder_contributor:
<property>
name="hibernate.metadata_builder_contributor"
value="com.vladmihalcea.book.hpjp.hibernate.query.function.SqlFunctionsMetadataBuilderContributor"
</property>
Odniesienie:https://vladmihalcea.com/hibernate-sql- funkcja-jpql-kryteria-api-zapytanie/