worm (Worthless Object Relation Mapper) is an ORM for Java that is inspired by JPA and Spring Data.
To get started, check out the wiki or jump right into the quick start below.
- Add worm as a dependency.
Maven
<repository>
<id>eldonexus</id>
<url>https://eldonexus.de/repository/maven-public/</url>
</repository>
<dependency>
<groupId>de.paul2708</groupId>
<artifactId>worm</artifactId>
<version>0.2.0</version>
</dependency>
Gradle
repositories {
maven("https://eldonexus.de/repository/maven-public/")
}
dependencies {
implementation("de.paul2708:worm:0.2.0")
}
- Define an entity.
@Entity("persons")
public class Person {
@Identifier
@MaxLength(128)
@Attribute("email_address")
private String email;
@Attribute("age")
private int age;
@Reference
@Attribute("partner")
private Person partner;
@Attribte("passwords")
private List<String> passwords;
public Person() {
}
}
- Create a repository.
public interface PersonRepository extends CrudRepository<Person, String> {
List<Person> findByAge(int age);
}
- Create a MySQL database and store the first entity.
Database database = new MySQLDatabase("localhost", 3306, "database", "user", "password");
PersonRepository repository = Repository.create(PersonRepository.class, Person.class, database);
Person person = new Person();
// ...
repository.save(person);
If you want to contribute, just open an issue and check out the work-in-progress contribution wiki.