apache / apache/grails-core

data service class fails to compile when inherited property is used as finder parameter

Open
#14,559 3 comments 5 reactions 0 assignees View on GitHub
relates-to: gorm
Dominant language
Groovy
Stars
2.9k
Forks
975
Avg merge
1d 22h
Merged PRs (30d)
92

Description

### Task List

- [x] Steps to reproduce provided
- [ ] Stacktrace (if present) provided
- [x] Example that reproduces the problem uploaded to Github
- [x] Full description of the issue provided (see below)

### Steps to Reproduce

1. create new grails app
2. create an abstract class with one property
3. create a domain model and extend class from step 2
4. create data service class for domain model in step 3
5. add one finder method using the property in step 2 as parameter
6. run build

### Expected Behaviour
build should be successful

### Actual Behaviour
```
compilation error message thrown: Cannot implement finder for non-existent property [name] of class [sample.Employee]
```

### Environment Information

- **Operating System:** Mac OS High Sierra 10.13.4
- **Grails Version:** 3.3.6
- **GORM Version:** 6.1.10.BUILD-SNAPSHOT
- **JDK Version:** 1.8.0_171
- **Container Version (If Applicable):**

### Example Application

- https://github.com/aaporjr/cannot-implement-for-non-existent-property

Contributor guide

Open the contributing guide

Research direction

Start with the example application linked in the issue and reproduce the build using the abstract class, inherited property, domain model, and data service described in the steps. Trace the finder validation that reports the property as missing. Done means the example application builds successfully with the inherited property used as a finder parameter.

Written by the indexing model from the issue text.

Assessment

Tech stack
groovy
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.