Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-106397

Create Domain Specific Language API generator for hand coded FinderImpls

    Details

      Description

      Domain Specific Language API generator for hand coded finder implementations.

      Main goals of new API

      1. Disallow syntax errors and using database specific clauses
      2. Create compile time safety checking for table references between modules
      3. Merge locations of SQL with usage to reduce mistakes in finder implementations
      4. Merge SQL generation API with parameter binding API to ensure type safety and correct query parameter binding
      5. Easier lookups for DB table sync when using Hibernate
      6. Add potential for caching multi-table queries
      7. Add potential for safer SQL based APIs

      Notes

      1. The SPI does not need to be referenced by DSL users unless they are integrating the DSL usage with a DB or rewriting queries dynamically
      2. All classes in the SPI are immutable to preserve easier debugging of queries and much of the "feel" from string queries
      3. Aliasing is fully supported but can be a challenge to use correctly because of immutability
      4. Database translation for functions is performed by code in kernel

      Example Usages

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              kyle.miho Kyle Miho
              Reporter:
              preston.crary Preston Crary
              Engineering Assignee:
              Preston Crary
              Recent user:
              Dante Wang
              Participants of an Issue:
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Packages

                  Version Package
                  Master