I'm not sure how many of my readers subscribe to the cf-orm-dev group, but I wanted to share some good news posted by Rupesh Kumar of Adobe. One of the most frustrating parts of ORM development is the lack of good error reporting in some situations. One of the worst culprits is the fact that a persistent CFC with an error will be ignored on startup. Rupesh said Adobe is working on improving this in the next update and specifically mentioned these fixes:
- If there is any CFC which has compilation errors, we will throw the error upfront. We were skipping those cfc earlier, which used to cause some other Hibernate error later in the application making it difficult to debug.
- In case the associated CFC (cfc in relation) is missing, we used to throw an error "Error in loading component XXX". This did not give any indication as in where this CFC is being used. We will now clearly say that in the error.
- During schema generation, if the 'drop' failed because of some reason, 'create' also fails but the error would just include 'create' errors. The error details would now include all the errors during schema generation if the 'create' fails. It would have been even more helpful if the SQL could be included along with the errors here but Hibernate does not provide that. The only way to debug that would be to enable DDL logging for errors.
- Error will be thrown if the sqlscript file specified does not exist
- Entityreload() will throw an exception if the object being passed is not a valid entity or if it is transient
As you can see, these are some really good changes. If you see something missing, please chime in on the thread itself and let Adobe know.