Thank you for your answer 🙂 My exact case was something like this - to create a parcel I need multiple entities from different tables, I was using DAO so extracting these entities must be done in the transaction block. Then it seemed that validation and some business logic must be moved to the repository layer, which sounds bad.
So in this case, If I use DSL and map results from the database to pure data classes, pass them to the service layer, do some validation and buissness logic and pass them back to the repository layer and also using DSL to pass it to database, will that be the correct way of doing it? So using DAO makes me to pass Exposed entities between repository and service layer?