Вот некоторая цитата из почему-другого-orm.txt, включенного в ядро ActiveObjects:
ActiveObjects разработан из
максимально прост в использовании, с минимальным минимумом
Конфигурация .... В отрасли наблюдается тенденция к
конфигурации. "...
На самом деле ActiveObjects стремится быть простым и легким в использовании.
Инфраструктура сохранения, что некоторые функции (например, распределенные транзакции)
был просто опущен. Причиной этого является то, что 99% случаев использования
не призывайте к таким крайним мерам. Если ваш проект требует такого
сложное поведение в вашем ORM, вы должны использовать Hibernate. Это как
просто как тот. ActiveObjects не предназначен для замены Hibernate.
Скорее, его цель - стать более легкой и легкой альтернативой для многих
распространенные сценарии, которые не требуют всей удивительной силы Hibernate.
Короче говоря, ActiveObjects пытается сделать разработку баз данных простой
и снова весело.
Рассмотрим такие компании, как Atlassian, использующие ActiveObjects в JIRA.
Вот пример использования ActiveObjects:
Хранилища:
https://maven2 -repository.dev.java.net /
Используйте следующие зависимости:
<dependency>
<groupId>net.java.dev.activeobjects</groupId>
<artifactId>activeobjects</artifactId>
<version>0.8.2</version>
</dependency>
Создайте следующие файлы:
Entity.java
import net.java.ao.RawEntity;
import net.java.ao.schema.AutoIncrement;
import net.java.ao.schema.NotNull;
import net.java.ao.schema.PrimaryKey;
public interface Entity extends RawEntity<Integer>{
@AutoIncrement
@NotNull
@PrimaryKey("id")
Integer getExportId();
}
TestAO.java
import net.java.ao.Preload;
import java.sql.Timestamp;
@Preload
public interface TestAO extends Entity {
String getFirstName();
void setFirstName(String firstName);
String getLastName();
void setLastName(String lastName);
Timestamp getUpdateTimestamp();
void setUpdateTimestamp(Timestamp updateTimestamp);
}
Test.java
EntityManager entityManager = EntityManager("jdbc:mysql://localhost:3306/test","test","test");
ao.migrate(TestAO.class);
TestAO testAO = ao.create(TestAO.class);
testAO.setFirstName("firstName");
testAO.setLastName("lastName");
testAO.save();