Я плохо знаком с Персистентностью Java API. Я только что изучил это и теперь хочу использовать его в своем Настольном приложении Java. Но у меня есть следующие вопросы относительно него:
Q1. Какая реализация JPA является самой маленькой в размере (поскольку я хочу иметь размер своего приложения как можно меньше)?
Q2. Как найти значение
тег в persistence.xml
файл. Я знаю, что его значение является конкретным поставщиком, но я не мог найти значение для реализации JPA загруженным отсюда.
Q1. Какая реализация JPA имеет наименьший размер (так как я хочу, чтобы размер моего приложения был как можно меньше)?
Для JPA 1.0:
Я бы держался подальше от TopLink Essentials.
Для JPA 2.0:
Эти измерения были сделаны на моем домашнем проекте (включая зависимости, кроме драйвера JDBC). Лично я не стал бы основывать свой выбор только на размере, даже для настольного приложения.
Q2. Как найти значение тега в файле persistence.xml.
org.datanucleus.jpa.PersistenceProviderImpl
org.eclipse.persistence.jpa.PersistenceProvider
org.hibernate.ejb.HibernatePersistence
org.apache.openjpa.persistence.PersistenceProviderImpl
oracle.toplink.essentials.PersistenceProvider
Вы имеете в виду размер в памяти? или размер банки? Размер в памяти зависит от того, сколько классов сохраняется, метаданные для них, сколько EntityManagers открыто, что находится в кэшах L1/L2. Я знаю, что DataNucleus использует меньше памяти, чем Hibernate, так как сами пользователи сообщили об этом, не имея представления о других основных реализациях.
Размер банки является бессмысленной мерой чего-либо, так как большинство вещей там может не использоваться.
PS. DataNucleus также является реализацией JPA1+2
Q1. ОЧЕНЬ приблизительный расчет:
Q2. Откройте JAR, проверьте файл META-INF / services / javax.persistence.spi.PersistenceProvider
.