Следующая функция (разработанная на основе ответа тангенса выше, либо скопировать в сценарий, либо в исходный код из файла):
job_limit () {
# Test for single positive integer input
if (( $# == 1 )) && [[ $1 =~ ^[1-9][0-9]*$ ]]
then
# Check number of running jobs
joblist=($(jobs -rp))
while (( ${#joblist[*]} >= $1 ))
do
# Wait for any job to finish
command='wait '${joblist[0]}
for job in ${joblist[@]:1}
do
command+=' || wait '$job
done
eval $command
joblist=($(jobs -rp))
done
fi
}
1) Требуется только вставить одну строку, чтобы ограничить существующий цикл
while :
do
task &
job_limit `nproc`
done
2) Ожидает завершения существующих фоновых задач, а не опроса, повышая эффективность быстрых задач
org.hibernate.annotations.Entity
имеет некоторые дополнительные атрибуты, которые javax.persistence.Entity
не стандартизированы. Дополнительные функции будут работать только при использовании спящего режима AnnotationConfiguration
напрямую или если спящий режим является поставщиком JPA.
из FAQ :
редактировать: новая ссылка конкретный вопрос :
редактировать: новая ссылка ответ :
Я использую @ org.hibernate.annotations.Entity и получаю исключение неизвестного объекта
Всегда импортируйте @ javax.persistence.Entity
@ org.hibernate.annotations.Entity завершает @ javax.persistence.Entity, но не является заменой
Например, есть атрибут с именем optimisticLock
, который сообщает спящему режиму, следует ли использовать стандарт столбец версии или для сравнения всех столбцов при обновлении. Такого поведения нет в спецификации JPA, поэтому для его настройки необходимо использовать специальное расширение для гибернации, указанное в их собственной аннотации.
Примерно так:
@Entity
@org.hibernate.annotations.Entity(optimisticLock=OptimisticLockType.ALL)
public class MyEntity implements Serializable {
...
}
Я не уверен в различиях, но уверен, что если у вас есть банки Hibernate в пути к классам, вы используете Hibernate JPA. Hibernate предоставляет реализацию JPA. Несмотря на то, что вы используете пакет javax.persistence, вы используете Hibernate JPA.
Разница может быть только в именовании. Они могут предоставлять одни и те же классы как в пространстве пакетов Hibernate, так и в пространстве пакетов javax.