Because:
- mapping interfaces and not objects is a bit tricky in Hibernate and I have impression that Hibernate has many bugs yet to be discovered in the space;
See for example:
http://opensource.atlassian.com/project ... e/HHH-1189
- even without using interfaces Hibernate weaved object might be tricky to use, for example if you have object MyA that has a list of Bs and you want to serialize it and sent it across the wires you might be surprised that you need hibernate.jar on client. That is because when the object gets loaded form DB then Hibernate uses own implementation of List interface. To get rid of the effect you may need to create a true DTO as in Data Transfer Object pattern or VO;
- I also big fun of simplicity and POJO is the simplest thing that works :) I recommend using interfaces sparingly and only when you need them. Introducing them later when and if needed is VERY simple with IDE like Intellij-IDEA, if yours does not allow it I recommend changing IDE ;)