When it came to using an ORM Lib in java I used ORMLite before. It worked quite well, but I didn't like the query builder.
Another thing was that I wanted to have control over the JDBC Wrapper to have a simple way of implementing an auto-reconnect function, if it gets disconnected for some reason.
I finally decided to make an own ORM that fits my needs and here it is.
You can find the current docs on our website. This is a work-in-progress project though so it's not yet complete.
@Dates @SoftDelete
class User extends Model {
@Column
int id;
@Column
String name;
@Column
Timestamp createdAt;
@Column
Timestamp updatedAt;
@Column
Timestamp deletedAt;
}
//Create connection, initialize repos
SQL sql = new MySQL("localhost",3306,"mydb","myuser","changeme1234");
ORMConfig config = new ORMConfig().setDefaultSize(255); //optional
Repo<User> repo = ORM.register(User.class, sql, config);
//Create the table if it doesn't exist (optional)
repo.migrate();
//Print all usernames
for(User user : Repo.get(User.class).all()){
System.out.println(user.name);
}
<dependency>
<groupId>org.javawebstack</groupId>
<artifactId>orm</artifactId>
<version>1.0.1</version>
</dependency>
You also need to add the driver you want to use. JavaWebStack ORM comes with a wrapper for com.mysql.jdbc.Driver, but you can also create an own wrapper implementing the interface SQL.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
<scope>compile</scope>
</dependency>