sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo usar listagg con querydsl?

Desde Hibernate 5.2.18, puede usar la utilidad MetadataBuilderContributor para personalizar MetadataBuilder incluso si está arrancando a través de JPA.

El MetadataBuilderContributor La interfaz se puede implementar así:

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

Y podemos proporcionar SqlFunctionsMetadataBuilderContributor a través de la propiedad de configuración hibernate.metadata_builder_contributor:

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

Referencia:https://vladmihalcea.com/hibernate-sql- función-jpql-criterios-api-query/