<commit_before>## Vaadin Querydsl prototype

Prototype of Vaadin/Querydsl JPA integration

vaadin-querydsl-prototype provides extensions to the Vaadin `JPAContainer` methods to support Querydsl types.

`QuerydslJPAContainerFactory` and `QuerydslJPAContainer` can be used as replacements for `JPAContainerFactory` and `JPAContainer`.

### Examples

filtering

    QPerson person = QPerson.person; // Querydsl generated type
    QuerydslJPAContainer<Person> container = QuerydslJPAContainerFactory.make(Person.class, entityManager);
    
    // container.addContainerFilter(new Equal("firstName", "Hello"));
    // container.addContainerFilter(new Equal("lastName", "World"));
    container.addContainerFilter(person.firstName.eq("Hello"));
    container.addContainerFilter(person.lastName.eq("World"));
    
filtering and sorting    

    // container.addContainerFilter(new Equal("firstName", "Hello"));
    // container.sort(new Object[] { "firstName" }, new boolean[] { true });
    container.addContainerFilter(person.firstName.eq("Hello"));<commit_msg>Add creation example<commit_after>## Vaadin Querydsl prototype

Prototype of Vaadin/Querydsl JPA integration

vaadin-querydsl-prototype provides extensions to the Vaadin `JPAContainer` methods to support Querydsl types.

`QuerydslJPAContainerFactory` and `QuerydslJPAContainer` can be used as replacements for `JPAContainerFactory` and `JPAContainer`.

### Usage

creation

    QuerydslJPAContainer<Person> container = QuerydslJPAContainerFactory.make(Person.class, entityManager);

filtering
           
    // container.addContainerFilter(new Equal("firstName", "Hello"));
    // container.addContainerFilter(new Equal("lastName", "World"));
    QPerson person = QPerson.person; // Querydsl generated type
    container.addContainerFilter(person.firstName.eq("Hello"));
    container.addContainerFilter(person.lastName.eq("World"));
    
filtering and sorting    

    // container.addContainerFilter(new Equal("firstName", "Hello"));
    // container.sort(new Object[] { "firstName" }, new boolean[] { true });
    container.addContainerFilter(person.firstName.eq("Hello"));
{'fraction_non_alphanumeric': 0.11533052039381153, 'fraction_numerical': 0.0, 'mean_word_length': 5.239766081871345, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3643397', 'n_tokens_mistral': 606, 'n_tokens_neox': 595, 'n_words': 134}