Случается, когда вы пытаетесь вызвать функцию, которая еще не определена. Общие причины включают отсутствующие расширения и включают в себя объявление условной функции, функцию в объявлении функции или простые опечатки.
Пример 1 - Декларация условной функции
$someCondition = false;
if ($someCondition === true) {
function fn() {
return 1;
}
}
echo fn(); // triggers error
В этом случае fn()
никогда не будет объявлено, потому что $someCondition
не соответствует действительности.
Пример 2 - Функция в объявлении функции
function createFn()
{
function fn() {
return 1;
}
}
echo fn(); // triggers error
В этом случае fn
будет объявлен только после вызова createFn()
. Обратите внимание, что последующие вызовы createFn()
вызовут ошибку об обновлении существующей функции.
Вы также можете увидеть это для встроенной функции PHP. Попробуйте найти функцию в официальном руководстве и проверьте, к какому «расширению» (к нему принадлежит PHP-модуль), и какие версии PHP поддерживают его.
В случае отсутствующее расширение, установите это расширение и включите его в php.ini. Обратитесь к Инструкции по установке в Руководстве по PHP для расширения вашей функции. Возможно, вы также сможете включить или установить расширение с помощью диспетчера пакетов (например, apt
в Debian или Ubuntu, yum
в Red Hat или CentOS ) или панель управления в среде общедоступного хостинга.
Если функция была введена в более новой версии PHP из того, что вы используете, вы можете найти ссылки на альтернативные реализации в руководстве или в разделе комментариев , Если он был удален из PHP, найдите информацию о том, почему, поскольку это может быть уже не нужно.
В случае отсутствия включено, обязательно включите файл, объявляющий функцию перед вызовом функции.
В случае опечаток исправить опечатку.
Вопросы, относящиеся
Я не знаю, если отъезд hibernate
от передней стороны имеет значение.
ссылка предлагает, чтобы это было hibernate.hbm2ddl.auto
, значение А create
составит Ваши таблицы при sessionFactory создании и оставит их неповрежденными.
значение А create-drop
составит Ваши таблицы, и затем отбросит их при закрытии sessionFactory.
, Возможно, необходимо ли установить javax.persistence.Table
аннотация явно?
Hope это помогает.
Вы могли бы попытаться изменить эту строку в своем persistence.xml от
<property name="hbm2ddl.auto" value="create"/>
к:
<property name="hibernate.hbm2ddl.auto" value="update"/>
Это, как предполагается, поддерживает схему для следования за любыми изменениями, которые Вы вносите в Модель каждый раз, когда Вы запускаете приложение.
Получил это от JavaRanch