Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment utiliser listagg avec querydsl ?

Depuis Hibernate 5.2.18, vous pouvez utiliser l'utilitaire MetadataBuilderContributor pour personnaliser le MetadataBuilder même si vous démarrez via JPA.

Le MetadataBuilderContributor l'interface peut être implémentée comme ceci :

public class SqlFunctionsMetadataBuilderContributor
    implements MetadataBuilderContributor {
     
 @Override
 public void contribute(MetadataBuilder metadataBuilder) {
    metadataBuilder.applySqlFunction(
        "group_concat",
        new StandardSQLFunction(
            "group_concat",
            StandardBasicTypes.STRING
        )
    );
 }
}

Et, nous pouvons fournir le SqlFunctionsMetadataBuilderContributor via la propriété de configuration hibernate.metadata_builder_contributor :

<property>
    name="hibernate.metadata_builder_contributor"
    value="com.vladmihalcea.book.hpjp.hibernate.query.function.SqlFunctionsMetadataBuilderContributor"
</property>

Référence :https://vladmihalcea.com/hibernate-sql- fonction-jpql-criteria-api-query/