use consistent types for IDs (they are all Long in model objects)
made proper use of generics, improved internal structure and added
toString() methods to value objects
ignore Eclipse and Maven stuff