A simple ORM, influenced by Hibernate and the Django ORM, for generating MySQL-like queries, developed using annotations, aspects and the Java reflect package.
Entities must have the @Table(), and attributes the @Column() annotation.
Before saving entities and adding elements to manyToMany relationships, aspectJ methods intercept the call and perform validation.
An entity must have strictly one @ID field.
@ManyToMany fields must be of type ArrayList<T>, and elements being added are checked for type compatibility (T).
- @Table(name)
- @Column(name, required, notNull)
- @Id
- @IntegerField
- @CharField(maxLength)
- @MappedSuperclass
- @ForeignKey
- @ManyToMany
This project was an assignment as part of the course - Advanced Java programming during the 7th semester at the Faculty of Computer Science in Belgrade.
- Stefan Ginic - stefangwars@gmail.com