Class JRJpaDataSource

  • All Implemented Interfaces:
    JRDataSource, JRRewindableDataSource

    public class JRJpaDataSource
    extends JRAbstractBeanDataSource
    Java Persistence API data source that uses javax.persistence.Query.getResultList().

    The query result can be paginated by not retrieving all the rows at once.

    Fields are mapped to values in the result following these rules:

    • if the query returns a single object/bean (e.g. SELECT m FROM Movie m or SELECT NEW MovieDescription(m.title, m.genre) FROM Movie m), then the fields are mapped to bean property names.
    • if the query returns multiple objects per row (e.g. SELECT m.title, m.gender FROM Movie m), the fields are mapped using the following syntax: COLUMN_index[.property], with the indexes starting from 1. Example mappings: COLUMN_1, COLUMN_2, COLUMN_2.title, COLUMN_2.movie.title.
    Author:
    Marcel Overdijk (marceloverdijk@hotmail.com)
    See Also:
    JRJpaQueryExecuter.PROPERTY_JPA_QUERY_PAGE_SIZE