A lightweight Java8 ORM library.
objectos::orm is not meant to be a Hibernate replacement. It is a simpler and lighter weight alternative.
Also, it uses annotation processing to generate code, meaning that, when debugging, all code is visible.
objectos::orm is nothing more than a collection of objectos::pojo plugins leveraging two more projects:
- objectos::schema for Java based database schema definition
- objectos::sql for a Java based SQL query writing
In its simplest form, you just need to annotate your entity class
with a @Pojo
annotation and its properties with the corresponding
column annotations:
@Pojo
abstract class Employee {
@EMPLOYEE.EMP_NO
abstract int emp_no();
@EMPLOYEE.BIRTH_DATE
abstract LocalDate birthDate();
@EMPLOYEE.FIRST_NAME
abstract String firstName();
@EMPLOYEE.LAST_NAME
abstract String lastName();
@EMPLOYEE.HIRE_DATE
abstract LocalDate hireDate();
Employee() {
}
// the EmployeeBuilder/Pojo is generated for you
public static EmployeeBuilder builder() {
return new EmployeeBuilderPojo();
}
}
objectos::orm is at Maven central.
<dependency>
<groupId>br.com.objectos.orm</groupId>
<artifactId>api</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>br.com.objectos.orm</groupId>
<artifactId>compiler</artifactId>
<version>0.2.0</version>
<optional>true</optional>
</dependency>
Copyright 2015-2016 Objectos Software LTDA
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.