Use Case example
More than once, I've encountered a SearchHelper entity which is made persistent in order to function. A datasource microflow is used to retrieve all relevant items by checking the search fields values. As soon as you make use of an association in a non-persistent search entity, this will result into the error "association ... is not allowed in an XPath constraint, because it starts in an entity that is not persistable.". As pragmatic solution, the SearchHelper is made persistent, causing the database to clog up with random search requests.
XPath feature requests
I see two very nice improvements: