Simplifying Ebean Internals ... by Removing MapBean fuctionality (and DB meta data use)
I'm considering an idea to simplify Ebean internals. This would potentially involve removing the MapBean functionality.
If you are using the MapBean functionality and don't want it removed can you please let me know - thanks.
In terms of simplifying Ebean internals... the idea is to re-evaluate the use of DB meta data. The initial thoughts is that with a couple of changes ... the need for using the DB meta data is removed (and it becomes hard to justify keeping it).
The two main things required to do this (at this stage) is
1) use @NotNull and @Length validation annotations (or @Column(nullable=false...) annotation). This is generally required by Ebean to determine the join types (inner/outer). In a sense having @NotNull etc could be a good/best practice moving forward as it enables bean validation frameworks etc).
2) use naming convention for finding the Foreign Key columns (like the JPA spec but pluggable/configurable)... rather than Ebean finding these via the DB meta data. Most people are going to have a decent naming convention so this should not be that bad.
The benefit of this is that the DB meta data code can all be removed from Ebean (a reasonably complex bit of work). In the long term keeping everything as simple as possible is important which is why I'm thinking about this (and leaning towards doing this).
All feedback welcome.
Thanks, Rob.