Вернуться в основную статью
Для облегчения поиска ошибок был создан отдельный раздел для сбора ошибок из АРМ ЭРС, читайте внимательнее подсказки ниже:
Для поиска по статье нажмите Ctrl+F и введите первые символы кода ошибки или вопроса
Поделиться статьей в:
- Telegram
- Vk
В случае возникновения ошибки при отправке реестра: Невозможно отправить реестр талонов с периодом формирования, равным текущему месяцу
Причина:
Ошибка возникает из-за того, что реестр должен датироваться месяцем в котором он сформирован.
Решение:
Если вы отправляете реестр в начале месяца (например 1 января) то необходимо изменить дату реестра на 31 число предыдущего месяца (31 декабря), а дату формирования счета — текущий день календаря. НО ваш фонд может не принять данный реестр.
Также возможно стоит подождать решения ошибки от СФР или установить обновление ПО
Выдержка из чата СФР:
Реестры и счета за услуги декабря вы формируете январем в рамках договоров на 2022 год, не меняя срока действия договора. Создать в январе талоны за услуги, оказанные в декабре, система Фонда не позволяет. В случае талонов 1 и 3 будет продление периода оказания услуг по январь с формированием талонов в январе и предъявлении их на оплату в феврале. Проблема с талонами 2 решается с техподдержкой.
В случае возникновения ошибки при получении результата обработки: Ошибка вызова сервиса передачи/получения данных VALID_SIGNATURE ЭП действительна; ERROR_BUILDING_CERT_PATH При проверке сертификата ЭП произошла ошибка. Ошибка построения цепочки сертификатов | INVALID_SIGNATURE ЭП недействительна. Обратитесь к разработчику программного обеспечения
Причина:
Ошибка возникает из-за нарушения корректности цепочки сертификатов — либо один из сертификатов цепочки просрочен, либо установлен не туда, либо это вообще некорректный сертификат.
Решение:
На рабочее место пользователя с 4.07.22 необходимо ставить в «Личное хранилище»:
-
Сертификат уполномоченного лица СФР
-
Сертификат ЛПУ (юр.лицо)
-
Сертификат руководителя ЛПУ (физ.лицо)
-
Сертификат главного бухгалтера
Скачиваем и устанавливаем ВСЮ ЦЕПОЧКУ СЕРТИФИКАТОВ уполномоченного лица ФСС:
Ссылка на скачивание
(eln_prod_Личное.cer устанавливаем в «Личное» остальные два в «Доверенные корневые центры сертификации»)
Убеждаемся что у пользователя есть права на контейнер закрытого ключа учреждения
В случае возникновения ошибки при запуске программы: Unable to build entity manager factory
Причина:
Ошибка возникает в случае отсутствия связи с СУБД PostgreSQL, либо сервер БД недоступен
Решение
Необходимо проверить на сервере БД запущена ли служба Postgresql-9.5 и доступен ли сервер БД, а также порт указанный при установке АРМ ЭРС
В случае возникновения ошибки при запуске программы «Invalid Configuration Location» The configuration area at .. could not be created. Please choose a writable location using the ‘-configuration’ command line option
Причина:
Пользователю недостаточно места для создания и хранения временных файлов, создаваемых программой.
Решение:
Проверьте квотирование места на диске: уберите квотирование либо увеличьте доступное пользователю пространство,
В случае возникновения ошибки при получении результата обработки: Connection could not be allocated. Listener does not currently know of service requested in connect descriptor
Причина:
Сервер СФР временно не доступен
Решение:
Необходимо ожидать восстановления работоспособности
В случае возникновения ошибки при получении результата обработки: Отсутствует уполномоченный представитель с таким сертификатом ЭП
Причина:
Выбран неправильный сертификат УЛ СФР
Решение:
Скачать сертификат Уполномоченного лица СФР отсюда: https://lk.fss.ru/cert.html установить его в личные и выбрать его в настройках подписи.
В случае возникновения ошибки при получении результата обработки: Ошибка вызова сервиса передачи/получения данных. Could not send Message
Причина:
Сервер ФСС временно не доступен
Решение:
Необходимо ожидать восстановления работоспособности
В случае возникновения ошибки при установке или обновлении программы «GostCryptography.dll Этому файлу не сопоставлена программа для выполнения этого действия»
Причина:
Возможно причина кроется в сломанных системных файлах
Решение:
Необходимо обновить систему и выполнить команды в командной строке от имени администратора:
sfc /scannow
и
DISM /Online /Cleanup-Image /RestoreHealth
После этого необходимо перезагрузиться
Подробнее вы можете прочитать здесь
В случае возникновения «ошибки шифрования» при проставленной галочке
:
Причина:
Не применяются настройки шифрования выставленные в настройках ПО
Решение:
Перейти в «C:FssArmErsconfiguration.settings» (для х64 версии)
либо в «C:FssToolsconfiguration.settings» (для x86 версии)
Открыть в блокноте файл: ru.ibs.fss.eln.prefs
в конце добавить строчку
encryptmessages=1
В случае возникновения «Internal Error COMCryptoAPIClient» :
Причина:
В процессе установки программы библиотека GostCryptography.dll по каким-то причинам не зарегистрировалась
Решение:
В командной строке CMD выполнить (с правами администратора):
Для x86 программы
cd C:FssTools C:WindowsMicrosoft.NETFrameworkv4.0.30319RegAsm.exe /registered GostCryptography.dll
Для x64 программы
cd C:FssArmErs C:WindowsMicrosoft.NETFramework64v4.0.30319RegAsm.exe /registered GostCryptography.dll
В случае возникновения ошибок «Сообщение не найдено» либо бесконечный «Вызов сервиса ФСС» либо «Ошибка вызова сервиса передачи/получения данных Error processing request — getResultByID»
Причина:
Сервис СФР перегружен, либо некорректна подпись МО
Решение:
Необходимо повторить отправку/запрос позднее. В программе АРМ ЭРС проверьте в настройках подписи корректна ли подпись медицинской организации (МО) либо сертификат СФР
В случае возникновения «Ошибки дешифрования сообщения. Ошибка при попытке расшифровать сообщение»
Причина:
Причиной возникновения данной ошибки может служить чрезмерная нагрузка на сервис СФР, либо сбой криптопровайдера
Решение:
Попробуйте совершить операцию позднее.
В крайнем случае проблема может решиться переустановкой криптопровайдера (КриптоПРО или VipnetCSP)
Также в программе АРМ ЭРС проверьте в настройках подписи корректна ли подпись медицинской организации (МО) либо сертификат СФР
После обновления ПО данная настройка может быть пустой
Также можно попробовать удалить все установленные сертификаты связанные с СФР и скачать их по данной ссылке:
https://disk.yandex.ru/d/nAQmOZ7WZi8S1w
(eln_prod_Личное.cer устанавливаем в «Личное» остальные два в «Доверенные корневые центры сертификации»)
Убеждаемся что у пользователя есть права на контейнер закрытого ключа учреждения
Также можно снять галочку на «Проверять подпись на входящих сообщениях»
В случае возникновения ошибки «вызова сервиса передачи/получения данных. Зарегистрировано»
Причина:
Перебои в работе сервиса взаимодействия СФР, ваш запрос в очереди
Решение:
Ждать, совершить запрос позднее
В случае возникновения ошибки «Отсутствует лицензия на осуществление медицинской деятельности»
Причина:
Текст ошибки говорит сам за себя
Решение:
Необходимо проверить введенные в настройках реквизиты организации а также связаться с региональным представителем СФР
В случае возникновения ошибки «Отсутствует заключенный договор с ТОФ на оказание услуг»
Причина:
Текст ошибки говорит сам за себя
Решение:
Необходимо связаться с региональным представителем СФР
В случае возникновения ошибки «Internal Error Rollback Exception» при попытке открыть сведения о посещениях
Причина:
Ошибка возникает из-за отсутствующих строках и колонках в БД, программа пытается прочитать данные в несуществующих ячейках
Решение:
Необходимо обновить ПО на рабочем месте, где установлена БД
В случае возникновения ошибки «Unmarchalling Error» при попытке отправить/запросить талон/ЭРС
Причина:
скорее всего неправильно заполнены данные в определенном поле
Решение:
Необходимо изучить текст ошибки
(в данном примере ошибка гласит о том, что введено 10 цифр в поле, где должно быть 12 цифр)
В случае возникновения ошибки «Invalid element in ErsOpenService .. -registerMODate» при попытке отправить/запросить ЭРС
Причина:
Вы используете устаревшую версию программы, введены новые контроли, поля и т.д.
Решение:
Необходимо обновить АРМ ЭРС
В случае возникновения ошибки «ЭЦП неверна SIGNATURE ERROR ЭП Недействительна» при попытке отправить/запросить талон/ЭРС также возникает при запросе счета
Причина:
Внутренняя ошибка программы, из-за которой подпись на талоне не проставилась корректно
Решение:
Необходимо в талоне нажать кнопку «На подписании» затем снова подписать талон кнопкой «Подпись руководителя ЛПУ» (может потребоваться нажать 2 раза)
После этого повторно отправить талон
В случае возникновения ошибки «В настройках соединения указан неправильный порт. Проверьте правильность адреса сервиса в настройках соединения» при попытке отправить/запросить талон/ЭРС
Причина:
Проблема связана с недоступностью (полной неработоспособностью сервиса СФР)
Решение:
Необходимо ожидать восстановления работоспособности сервиса
В случае возникновения ошибки «Ошибка вызова сервиса передачи/получения данных. Несоответствующий статус для включения талонов в реестр» при попытке включить талоны в реестр
Причина:
Статус талонов в реестре отличается от «Принято в ТОФ»
Решение:
Для решения проблемы нужно убедиться, что статус перечисленных в ошибке талонов, включенных в реестр должен быть — Принято в ТОФ
Часто бывает так, что статус талона в локальной базе может отличаться от статуса в СФР (для этого можно запросить статус обработки повторно) можно уточнить этот момент у представителя СФР
В случае возникновения ошибки «Дата постановки на учет должна быть равна началу периода наблюдения» при попытке сохранить ЭРС
Причина:
Дата постановки на учет была забита вручную и скорее всего неправильно
Решение:
Необходимо ввести одинаковую дату постановки на учет и дату начала периода наблюдения через кнопку «Календарь» в поле с датами
В случае возникновения ошибки «Premature end of file»
Причина:
Ошибка возникает, когда валидация отправляемого XML-файла не проходит на удаленном сервисе. Проблема на стороне СФР.
Решение:
Ждать исправления
В случае возникновения ошибки «Ошибка вызова сервиса передачи/получения данных. 1606: Несоответствующий статус для включения талонов в реестр: Талон» при попытке получить результат обработки счета
Причина:
Для счета не нужно запрашивать результат обработки
Решение:
Для решения проблемы необходимо нажать кнопку «Получить данные об оплате счета»
В случае возникновения ошибки «Не удалось подписать информацию Invalid Iddata=[имя талона]» подписать реестр
Причина:
Некорректно заполнено поле — номер реестра
Решение:
Необходимо удалить пробелы или другие запрещенные символы из номера реестра
В случае возникновения ошибки «The content of element ‘status’ is not complete.» при попытке запросить результат обработки
Причина:
Проблема на стороне сервиса взаимодействия с СФР
Решение:
Необходимо ждать решения проблемы со стороны СФР
В случае возникновения ошибки Validator Exception: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed
Причина:
Проблема с SSL сертификатом на стороне СФР
Решение:
Необходимо обновить ПО, либо подсунуть файл из архива cacerts.zip
в папку с программой/jre/lib/security
В случае возникновения ошибки «Internal error Widget is disposed»
Причина:
Внутренняя ошибка программы
Решение:
Перед любыми действиями делайте резервную копию папки!
Необходимо удалить содержимое папки
C:FssArmErsworkspace.metadata.pluginsorg.eclipse.e4.workbench
После этого перезапустите приложение
В случае возникновения ошибки при отправке реестров «Ошибка вызова сервиса передачи/получения данных. Unmarshalling Error: Длина поля типа #AnonType_bankCheckingAccbillinfo не соответствует ограничению»
Причина:
Ограничение на минимальную длину обязательного поля для реквизитов банка в счете
Решение:
Убедитесь в корректности заполнения реквизитов банковского счета. Смотрите текст ошибки:
<bankCheckingAcc/> | р/с | минимум 20 символов |
<bankName/> | наименование банка | минимум 4 символа |
<bankBIK/> | БИК банка | минимум 6 символов |
В случае возникновения ошибки при сохранении и отправки счета «Ошибка при попытке сохранить данные в базу данных Error while committing the transaction»
Причина:
В схеме ers отсутствует столбец «final_price_fss» в таблице «fc_ers_check»
Решение:
Запускаем pgAdmin, открываем базу, переходим к схеме «ers»
Далее нажать на:
Качаем этот SQL-запрос и исполняем его в PgAdmin
Либо исполняем вручную данный запрос:
ALTER TABLE ers.fc_ers_check ADD COLUMN final_price_fss character varying(200); UPDATE ers.fc_ers_check a SET final_price_fss = ( ( SELECT COALESCE(SUM(payment_sum::INTEGER), 0) FROM ers.fc_ers_payment WHERE id_check = a.id AND (order_status = 1 OR order_status = 4) ) - ( SELECT COALESCE(SUM(payment_sum::INTEGER), 0) FROM ers.fc_ers_payment WHERE id_check = a.id AND (order_status = 2 OR order_status = 3) ) ) WHERE a.id_check_state = 4; UPDATE ers.fc_ers_check a SET final_price_fss = '' WHERE a.id_check_state != 4;
В случае возникновения ошибки при попытке сохранить данные в базу данных «org.hibernate.HibernateException: More than one row with the given identifier was found: for class: ru.ibs.common.db.model.ers.FcErsTalon1»
Причина:
Появилась вторая строка в таблице «ers.fc_ers_talon1»
Решение:
Выполнить скрипт в PGAdmin:
delete from ers.fc_ers_talon1 where ers_num=номерэрс
После данного действия талон придется вводить заново.
В случае возникновения ошибки The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
Причина:
Версия протокола TLS на сервере отличается от версии TLS клиента
Решение:
Идем в папка_с_программой/jre/lib/security
Открываем файл java.security в блокноте
Ищем в нем строчку jdk.tls.disabledAlgorithms — удаляем tlsv1 и tlsv1.1
Сохраняемся
В случае возникновения ошибки при попытке получить ЭРС из СФР — Error while commiting transaction. Invalid thread access
Причина:
Ошибка возникает из-за того, что реестр должен датироваться месяцем в котором он сформирован.
Решение:
Через консольный лог выясняем, в какую таблицу идёт ошибка записи, после чего через pgadmin исправляется значение соответствующей последовательности на max(ID) +1 из таблицы.
Пошагово:
находим нужное значение ID
Проставляем его в последовательности, не забыв прибавить единичку и сохраняем.
Выражаю благодарность за вклад в данный раздел пользователю: @Icosahedron
Всем, кому понравился или помог это проект — Вы можете помочь ему развиваться материально:
Donate (помощь проекту)
Содержание
- Error while committing the transaction фсс арм лпу
- Содержание:
- 1. Ошибка вызова сервиса передачи/получения данных.
- 2. ORA-20015: Не удалось определить состояние ЭЛН:
- 3. ORA-20013: Не удалось обновить данные. Обновляемая запись потеряла актуальность
- 4. ORA-20001: Доступ к ЭЛН с №_________, СНИЛС_________, статусом _________ — ограничен
- 5. Ошибка вызова сервиса передачи / получения данных. Не удалось расшифровать сообщение.
- 6. Ошибка вызова сервиса передачи/получения данных.
- 7. Ошибка при установке АРМ ЛПУ: Unable to build entity manager factory.
- 8. Ошибка при попытке загрузки данных из базы данных.
- 9. Ошибка при попытке зайти в настройки подписи в ПО АРМ ЛПУ.
- 10. Ошибка вызова сервиса передачи/получения данных. Invalid element in ru.ibs.fss.eln.ws.FileOperationsLn_wsdl.ROW — SERV1_DT1.
- 11. Ошибка при старте АРМ ЛПУ «В базе данных АРМ ЛПУ имеется некорректная запись» (Transaction already active)
- 12. Установка нового сертификата ФСС.
- 13. АРМ Подготовки расчетов для ФСС, ошибка «Набор ключей не определен»
- 14. АРМ ЛПУ, ошибка «Ошибка при проверке соединения с ФСС»
- 15. АРМ ЛПУ, ошибка «Ошибка вызова сервиса передачи/получения данных. Ошибка шифрования сообщения»
Error while committing the transaction фсс арм лпу
ФОНД СОЦИАЛЬНОГО СТРАХОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Содержание:
1. Ошибка вызова сервиса передачи/получения данных.
Сообщение не соответствует формату XML Encryption.
Обратитесь к разработчику программного обеспечения, на котором осуществлялось шифрование данных.
Сообщите следующую информацию: Отсутствует элемент EncryptedData class ru.ibs.cryptopro.jcp.crypt.CryptoException
Причины:
Неправильные настройки АРМ ЛПУ в части подписания;
Неправильные настройки криптопровайдера;
Истечение срока действия сертификата, закрытого ключа или лицензии КриптоПро CSP.
Что делать:
1. Выполните настройку АРМ ЛПУ
В меню Администрирование – Настройка подписей для сервисов установите флаг «Шифровать сообщение». После этого Вам необходимо указать Имя сертификата ФСС и Тип контейнера. Данный сертификат можно скачать на сайте https://lk.fss.ru/cert.html (если Вы настраиваете сервисы для тестирования, то Вам необходимо скачать ТЕСТОВЫЙ сертификат ФСС). После скачивания установите его на компьютер.
Обратите внимание, Сертификаты МО (должен иметь закрытый ключ) и ФСС должны быть установлены в хранилище «Личное», соответственно тип контейнера выбран «Личные». Вся цепочка вышестоящих сертификатов в папку «Доверенные корневые центры сертификации». Все сертификаты должны быть актуальными и не отозванными.
2. Проверьте настройки криптопровайдера
При использовании криптопровайдера Vipnet CSP рабочей версией является 4.4 и выше.
При использовании криптопровайдера КриптоПро CSP рабочей версией является 4.0 и выше.
Через «Панель управления» в КриптоПро CSP зайдите на вкладку «Сервис», нажмите кнопку «Удалить запомненные пароли…». В окне «Удаление запомненных паролей» выбрать «Удалить все запомненные пароли закрытых ключей: Пользователя».
Проверьте настройки на вкладке «Алгоритмы». В выпадающем списке «Выберите тип CSP» выберите GOST R 34.10-2012. Должны быть установлены следующие параметры:
«Параметры алгоритма шифрования» — ГОСТ 28147-89, параметры алгоритма шифрования TK26 Z
«Параметры алгоритма подписи» — ГОСТ 34.10-2001, параметры по умолчанию
«Параметры алгоритма Диффи-Хеллмана» — ГОСТ 34.10-2001, параметры обмена по умолчанию
Ниже приведен образец настроек в КриптоПро CSP 5.0
Если вы не можете изменить параметры на вкладке «Алгоритмы» (даже запустив КриптоПро CSP от лица администратора), необходимо сделать следующее:
В реестре Windows открыть ключ HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProCryptographyCurrentVersionParameters и изменть значение EnableOIDModify на 1. После чего необходимо перезагрузиться.
После изменения настроек криптопровайдера необходимо перезапустить АРМ ЛПУ.
3. Проверьте сертификаты и лицензии
С помощью системной утилиты certmgr.msc (кнопка Пуск — Выполнить (Найти программы и файлы)) откройте ваш сертификат. Срок действия сертификата не должен быть просрочен.
Запустите КриптоПро CSP. На вкладке «Общие» проверьте срок действия лицензии криптопровайдера.
Откройте вкладку «Сервис» и нажмите кнопку «Протестировать». Выберите контейнер закрытого ключа вашего сертификата. В открывшемся окне тестирования не должно быть ошибок, сообщений об истечении срока действия ключа итп.
2. ORA-20015: Не удалось определить состояние ЭЛН:
Для перехода в статус ‘Продлен’ необходимо добавить период нетрудоспособности;
Для перехода в статус ‘Закрыт’ необходимо заполнить поля: ‘Приступить к работе с: дата’ или ‘Иное: код’;
Для перехода в статус ‘Направление на МСЭ’ необходимо заполнить поле ‘Дата направления в бюро МСЭ’
Причина:
1. В системе существует ЭЛН с таким же номером и такими же данными, которые Вы присылаете (дублирование данных);
2. Присылаемые данные в ЭЛН не соответствуют этапу оформления (заполнения) ЭЛН:
- недостаточно данных для определения состояния ЭЛН;
- внесенные данные относятся к разным этапам оформления (заполнения) ЭЛН.
Что делать:
1. Запросите актуальное состояние ЭЛН из системы, тем самым Вы исключите повторную отправку тех же данных;
2. Выполните необходимую дальнейшую операцию с ЭЛН:
- продление (добавить новый период нетрудоспособности);
- закрытие (добавить информацию о закрытии);
- направление на МСЭ (добавить информацию о направлении на МСЭ).
3. ORA-20013: Не удалось обновить данные. Обновляемая запись потеряла актуальность
Причина:
Вы пытаетесь изменить ЭЛН, который ранее уже был кем-то изменен.
Что делать:
1. Запросите актуальное состояние ЭЛН из системы, тем самым Вы исключите повторную отправку тех же данных;
2. Выполните необходимую дальнейшую операцию с ЭЛН в соответствии с порядком 624н:
- продление (добавить новый период нетрудоспособности);
- закрытие (добавить информацию о закрытии);
- направление на МСЭ (добавить информацию о направлении на МСЭ).
4. ORA-20001: Доступ к ЭЛН с №_________, СНИЛС_________, статусом _________ — ограничен
Причина:
Вы пытаетесь получить данные ЭЛН, который находится в статусе, ограничивающем Ваш доступ. Например, страхователь пытается получить данные ЭЛН, который еще не закрыт медицинской организацией. Согласно процессной модели, страхователь может получить данные ЭЛН для редактированиня только на статусе 030 — Закрыт. Другой пример — бюро МСЭ не может получить данные ЭЛН, который не направлен в бюро МСЭ (статус 040 — Направление на МСЭ)
Что делать:
1. Удостоверьтесь, что номер ЭЛН, данные которого вы хотите получить, введен верно.
2. Дождитесь перехода ЭЛН на статус, который позволит Вам получить данные ЭЛН.
5. Ошибка вызова сервиса передачи / получения данных. Не удалось расшифровать сообщение.
Возможно сообщение было зашифровано на ключе, отличном от ключа уполномоченного лица ФСС.
Проверьте правильность и актуальность ключа уполномоченного лица ФСС.
Причины:
В настройках подписания и шифрования в используемом пользователем ПО, в поле «Сертификат уполномоченного лица ФСС» указан неверный сертификат;
Используется криптопровайдер Vipnet CSP определенной сборки;
Что делать:
Укажите верный сертификат уполномоченного лица ФСС:
- Определите направление отправки запросов — тестовое или продуктивное;
- Скачайте сертификат уполномоченного лица ФСС, опубликованный в соответствующем разделе (для взаимодействия с ЭЛН, ОВЭД, СЭДО, ЭРС или ПВСО, Ф4) на сайте Фонда:
Сертификат для тестовой отправки опубликован на сайте https://lk-test.fss.ru/cert.html
Сертификат для продуктива опубликован на сайте https://lk.fss.ru/cert.html; - Закройте используемое ПО. Удалите установленные сертификаты ФСС с помощью системной утилиты certmgr.msc (кнопка Пуск — Выполнить (Найти программы и файлы)).
Установите скачанный сертификат на компьютер в хранилище «Личное» для текущего пользователя для взаимодействия с ЭЛН.
Для взаимодействия с шлюзом ПВСО в АРМ Подготовки расчетов для ФСС, сертификат ФСС устанавливается в хранилище «Другие пользователи»; - Укажите данный сертификат в соответствующих настройках используемого ПО.
При использовании криптопровайдера Vipnet CSP — рабочей версией является 4.4 и выше.
6. Ошибка вызова сервиса передачи/получения данных.
Ошибка шифрования сообщения для получателя. Client received SOAP Fault from server: Fault occurred while processing. Please see the log to find more detail regarding exact cause of the failure.null
Причина:
Вы указали неверный сертификат для шифрования сообщения в поле «Имя сертификата МО»: указанный сертификат может быть использован только для подписания, но не шифрования.
Что делать:
Закажите и установите сертификат, который поддерживает не только операцию подписания, но и операцию шифрования.
7. Ошибка при установке АРМ ЛПУ: Unable to build entity manager factory.
Возникла ошибка при попытке загрузки данных из базы данных. Сообщите администратору следующую информацию:
Unable to build entity manager factory.
Причина:
- Приложение было установлено некорректно (некорректно установлена БД);
- База данных приложения установлена, но не доступна.
Что делать:
1. Запустите установку с правами администратора;
2. Выполните установку программы по шагам инструкции (путь, где лежит инструкция: http://lk.fss.ru/eln.html).
Если установка приложения выполнена в соответствии с инструкцией, но ошибка повторяется, необходимо проверить:
- На компьютере отключена служба postgresql-9.5. Правой кнопкой на значке «Мой компьютер» — Управление — Службы и приложения — Службы, postgresql-9.5 должна быть запущена, запуск — автоматически. Для настройки запуска и работы службы Windows обратитесь к вашему системному администратору;
- В настройках подключения к базе данных указан неправильный пароль для пользователя fss. Проверьте, что в БД этот пароль не менялся, пароль по умолчанию — fss;
- Проверьте каталог установки БД PostgreSQL, по умолчанию — C:postgresql;
- Подключение к БД PostgreSQL осуществляется по умолчанию по порту 5432. Этот порт должен быть открыт и доступен. Для проверки обратитесь к вашему системному администратору;
- Приложение на клиентской машине не может связаться с сервером т.к. установлено какое либо сетевое ограничение. Проверьте, настройки антивирусов, файерволов, прочего сетевого ПО, для клиентской машины должны быть прописаны разрешения подключения к серверу по порту 5432.
8. Ошибка при попытке загрузки данных из базы данных.
Возникла ошибка при попытке загрузки данных из базы данных.
Сообщите следующую информацию: org.hibernate.exception.SQLGrammarException: could not extract ResultSet.
Причина:
Приложение АРМ ЛПУ не может получить данные из базы данных PostgreSQL. Эта ошибка возникает чаще всего после установки обновления, когда приложение обновлено, а база данных PostgreSQL по какой либо причине не обновлена.
Что делать:
- Если приложение установлено на компьютере пользователя, а база данных PostgreSQL — на сервере. Необходимо запустить обновление приложение не только на клиенте, но и на серверной машине;
- Если и приложение, и база данных PostgreSQL установлены на одной машине. Проверьте каталог установки приложения. По умолчанию, приложение АРМ ЛПУ ставится в каталог C:FssTools, а база данных PostgreSQL в каталог C:postgresql. Если при первичной установке была выбрана другая директория для установки приложения — то при обновлении вы должны указать именно эту директорию.
9. Ошибка при попытке зайти в настройки подписи в ПО АРМ ЛПУ.
При попытке зайти в настройки подписи в ПО АРМ ЛПУ выходит ошибка «Internal error. Reason: java.lang.ExceptionInInitializerError» или
«Internal Error. Reason: java.lang.NoClassDefFoundError: Could not initialize class ru.ibs.fss.common.security.signature.COMCryptoAPIClient»
Причина:
Приложение было установлено некорректно (не зарегистрирована библиотека GostCryptography.dll).
Что делать:
1. Необходимо убедиться, что разрядность ОС совпадает с разрядностью установщика приложения.
2. Проверить, установлены ли в системе компоненты Microsoft.Net Framework версии 4 и выше (по умолчанию данные компоненты устанавливаются в C:WindowsMicrosoft.NETFramework или C:WindowsMicrosoft.NETFramework64). Данные компоненты можно скачать с сайта microsoft.com.
3. Проверить, что в папке, куда установлено приложение, имеется файл GostCryptography.dll (по умолчанию данный файл устанавливается в C:FssTools). Если данного файла нет, попробуйте переустановить приложение.
4. Если все верно, в командной строке выполнить:
cd C:FssTools — переходим в папку, в которой находится файл GostCryptography.dll
C:WindowsMicrosoft.NETFrameworkv4.0.30319RegAsm.exe /registered GostCryptography.dll — с указанием вашего адреса установки компонентов Microsoft.NET. Обратите внимание, что на ОС Windows 10 адрес установки компонентов Microsoft.NET может отличаться от приведенного в примере (C:WindowsMicrosoft.NETFramework64v4.0.30319RegAsm.exe /registered GostCryptography.dll).
5. Перезапустить приложение.
10. Ошибка вызова сервиса передачи/получения данных. Invalid element in ru.ibs.fss.eln.ws.FileOperationsLn_wsdl.ROW — SERV1_DT1.
Ошибка: «Ошибка вызова сервиса передачи/получения данных. Invalid element in ru.ibs.fss.eln.ws.FileOperationsLn_wsdl.ROW — SERV1_DT1»
Причина:
Поле «SERV1_DT1» было исключено в новой спецификации 1.1 (14 версия и выше АРМ ЛПУ), изменена строка соединения.
Что делать:
Поменять строку соединения в настройках.
В меню Администрирование – Настройки сервисов ФСС – Строка соединения, укажите следующий адрес сервиса:
Без шифрования https://docs-test.fss.ru/WSLnV11/FileOperationsLnPort?WSDL (Обратите внимание, при отправке на сервис без шифрования в настройках электронной подписи должен быть снят флаг «Шифровать сообщение»)
11. Ошибка при старте АРМ ЛПУ «В базе данных АРМ ЛПУ имеется некорректная запись» (Transaction already active)
Причина:
Данная ошибка возникает в случае, когда в какой либо таблице БД приложения сохранены некорректные записи (например, пустое или некорректное значение номера ЭЛН, пустые обязательные поля, строки с одинаковым значением номера ЭЛН, в т.ч. записи-дубли). Если в БД АРМ ЛПУ имеются такие записи, то возможны следующие ошибки:
- Отправка и получение ЭЛН может происходить некорректно, зависать окно статусной строки;
- Невозможно запросить номер ЭЛН из формы ЭЛН.
Что делать:
Для исправления нужно удалить из БД приложения неверную строку (такие записи можно удалить только вручную).
Необходимо подключиться к серверу базы данных PostgreSQL, найти и удалить из базы ошибочную строку. При установке АРМ ЛПУ, вместе с БД и компонентами PostgreSQL устанавливается клиент для подключения к БД. По умолчанию находится здесь: C:postgresqlbinpgAdmin3.exe
В интерфейсе клиента открывается сервер PostgreSQL 9.5. Затем открывается схема fss (пользователь fss, пароль fss) – Схемы – public – Таблицы.
Данные в АРМ ЛПУ хранятся в таблицах:
- fc_eln_data_history — данные листков нетрудоспособнсти;
- fc_eln_periods — сведения о периодах нетрудоспособности;
- ref_ln_numbers — список запрошенных номеров ЭЛН.
Для просмотра таблицы необходимо выделить ее в дереве таблиц и нажать на значок «Просмотр данных в выбранном объекте»
Выделяете и удаляете (delete) строку, которая содержит пустое значение номера ЭЛН или другие ошибки.
Как вариант, для поиска и удаления ошибочных записей возможно использование SQL запроса типа:
select id from fc_eln_data_history where ln_code is null;
delete from fc_eln_data_history where id;
Для открытия окна SQL запросов необходимо в главном меню нажать на значок «SQL».
Обратите внимание! При удалении строки ЭЛН, если в этом ЭЛН были созданы периоды нетрудоспособности, сначала необходимо удалить их. Периоды нетрудоспособности хранятся в отдельной таблице fc_eln_periods и связаны с fc_eln_data_history по номеру ЭЛН. Просмотр и удаление периодов аналогично, описанному выше.
12. Установка нового сертификата ФСС.
Установка нового сертификата ФСС описана в инструкции, которую можно скачать по ссылке
https://cabinets.fss.ru/Установка нового сертификата ФСС.docx
13. АРМ Подготовки расчетов для ФСС, ошибка «Набор ключей не определен»
Причина:
ГОСТ сертификата ФСС не соответствует выбранному в настройках криптопровайдеру, либо криптопровайдер не может получить закрытый ключ из контейнера закрытого ключа для выбранного сертификата.
Что делать:
- В настройках АРМ Подписания и шифрования проверить, что указанный криптопровайдер соответствует реально установленному у пользователя;
- В настройках АРМ Подписания и шифрования проверить, что ГОСТы сертификата подписания и сертификата ФСС одинаковы и соответствуют выбранному криптопровайдеру;
- Если используется сертификат ЭП по ГОСТ 2012, откройте сертификат, вкладка «Состав», параметр «Средство электронной подписи».
Необходимо проверить, что средство ЭП соответствует криптопровайдеру, установленному у пользователя; - Если используется сертификат ЭП по ГОСТ 2012 и криптопровайдер КриптоПро, проверьте настройки на вкладке «Алгоритмы». В выпадающем списке «Выберите тип CSP» выберите GOST R 34.10-2012 (256). Должны быть установлены следующие параметры:
«Параметры алгоритма шифрования» — ГОСТ 28147-89, параметры алгоритма шифрования TK26 Z
«Параметры алгоритма подписи» — ГОСТ 34.10-2001, параметры по умолчанию
«Параметры алгоритма Диффи-Хеллмана» — ГОСТ 34.10-2001, параметры обмена по умолчанию
14. АРМ ЛПУ, ошибка «Ошибка при проверке соединения с ФСС»
Ошибка: Ошибка дешифрования сообщения. Ошибка при попытке расшифровать сообщение. Стек: java.lang.NullPointerException org.apache.cxf.binding.soap.SoapFault: Ошибка при попытке расшифровать сообщение. Стек: java.lang.NullPointerException
Причина:
Расшифровывается запрос пользователя на сертификате ФСС, необходимо проверить настройки шифрования в настройках электронной подписи, определить причины возникновения в «Настройках электронной подписи»:
В составе сертификата раздел «Использование ключа» нет атрибута «Шифрование данных»
не проставлена галка «Шифровать сообщение» (для строки соединения с ФСС, где прописано «. -crypto-v20. «)
выбран тестовый сертификат ФСС для Прода (и наоборот), либо ошибка в самом сертификате
Неправильные настройки криптопровайдера
Истечение срока действия сертификата, закрытого ключа или лицензии КриптоПро CSP
Что делать:
15. АРМ ЛПУ, ошибка «Ошибка вызова сервиса передачи/получения данных. Ошибка шифрования сообщения»
Ошибка вызова сервиса передачи/получения данных. Ошибка шифрования сообщения. Ошибка при попытке зашифровать сообщение. Стек: java.lang.NullPointerException.
Причина:
Зашифровывается сообщение пользователя на сертификате МО, указанное в настройках.
Источник
1. Ошибка вызова сервиса передачи/получения данных.
Сообщение не соответствует формату XML Encryption.
Обратитесь к разработчику программного обеспечения, на котором осуществлялось шифрование данных.
Сообщите следующую информацию: Отсутствует элемент EncryptedData class ru.ibs.cryptopro.jcp.crypt.CryptoException
Причины:
-
Неправильные настройки АРМ ЛПУ в части подписания;
-
Неправильные настройки криптопровайдера;
-
Истечение срока действия сертификата, закрытого ключа или лицензии КриптоПро CSP.
Что делать:
1. Выполните настройку АРМ ЛПУ
В меню Администрирование – Настройка подписей для сервисов установите флаг «Шифровать сообщение». После этого Вам необходимо указать Имя сертификата ФСС и Тип контейнера.
Данный сертификат можно скачать на сайте https://lk.fss.ru/cert.html (если Вы настраиваете сервисы для тестирования, то Вам необходимо скачать ТЕСТОВЫЙ сертификат ФСС).
После скачивания установите его на компьютер.
Обратите внимание, Сертификаты МО (должен иметь закрытый ключ) и ФСС должны быть установлены в хранилище «Личное», соответственно тип контейнера выбран «Личные». Вся цепочка вышестоящих сертификатов в папку «Доверенные корневые центры сертификации». Все сертификаты должны быть актуальными и не отозванными.
2. Проверьте настройки криптопровайдера
При использовании криптопровайдера Vipnet CSP рабочей версией является 4.4 и выше.
При использовании криптопровайдера КриптоПро CSP рабочей версией является 4.0 и выше.
Через «Панель управления» в КриптоПро CSP зайдите на вкладку «Сервис», нажмите кнопку «Удалить запомненные пароли…». В окне «Удаление запомненных паролей» выбрать «Удалить все запомненные пароли закрытых ключей: Пользователя».
Проверьте настройки на вкладке «Алгоритмы». В выпадающем списке «Выберите тип CSP» выберите GOST R 34.10-2012. Должны быть установлены следующие параметры:
-
«Параметры алгоритма шифрования» — ГОСТ 28147-89, параметры алгоритма шифрования TK26 Z
-
«Параметры алгоритма подписи» — ГОСТ 34.10-2001, параметры по умолчанию
-
«Параметры алгоритма Диффи-Хеллмана» — ГОСТ 34.10-2001, параметры обмена по умолчанию
Ниже приведен образец настроек в КриптоПро CSP 5.0
Если вы не можете изменить параметры на вкладке «Алгоритмы» (даже запустив КриптоПро CSP от лица администратора), необходимо сделать следующее:
В реестре Windows открыть ключ HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeCrypto ProCryptographyCurrentVersionParameters и изменть значение EnableOIDModify на 1. После чего необходимо перезагрузиться.
После изменения настроек криптопровайдера необходимо перезапустить АРМ ЛПУ.
3. Проверьте сертификаты и лицензии
С помощью системной утилиты certmgr.msc (кнопка Пуск — Выполнить (Найти программы и файлы)) откройте ваш сертификат. Срок действия сертификата не должен быть просрочен.
Запустите КриптоПро CSP. На вкладке «Общие» проверьте срок действия лицензии криптопровайдера.
Откройте вкладку «Сервис» и нажмите кнопку «Протестировать». Выберите контейнер закрытого ключа вашего сертификата. В открывшемся окне тестирования не должно быть ошибок, сообщений об истечении срока действия ключа итп.
2. ORA-20015: Не удалось определить состояние ЭЛН:
Для перехода в статус ‘Продлен’ необходимо добавить период нетрудоспособности;
Для перехода в статус ‘Закрыт’ необходимо заполнить поля: ‘Приступить к работе с: дата’ или ‘Иное: код’;
Для перехода в статус ‘Направление на МСЭ’ необходимо заполнить поле ‘Дата направления в бюро МСЭ’
Причина:
1. В системе существует ЭЛН с таким же номером и такими же данными, которые Вы присылаете (дублирование данных);
2. Присылаемые данные в ЭЛН не соответствуют этапу оформления (заполнения) ЭЛН:
- недостаточно данных для определения состояния ЭЛН;
- внесенные данные относятся к разным этапам оформления (заполнения) ЭЛН.
Что делать:
1. Запросите актуальное состояние ЭЛН из системы, тем самым Вы исключите повторную отправку тех же данных;
2. Выполните необходимую дальнейшую операцию с ЭЛН:
- продление (добавить новый период нетрудоспособности);
- закрытие (добавить информацию о закрытии);
- направление на МСЭ (добавить информацию о направлении на МСЭ).
3. ORA-20013: Не удалось обновить данные. Обновляемая запись потеряла актуальность
Причина:
Вы пытаетесь изменить ЭЛН, который ранее уже был кем-то изменен.
Что делать:
1. Запросите актуальное состояние ЭЛН из системы, тем самым Вы исключите повторную отправку тех же данных;
2. Выполните необходимую дальнейшую операцию с ЭЛН в соответствии с порядком 624н:
- продление (добавить новый период нетрудоспособности);
- закрытие (добавить информацию о закрытии);
- направление на МСЭ (добавить информацию о направлении на МСЭ).
4. ORA-20001: Доступ к ЭЛН с №_________, СНИЛС_________, статусом _________ — ограничен
Причина:
Вы пытаетесь получить данные ЭЛН, который находится в статусе, ограничивающем Ваш доступ. Например, страхователь пытается получить данные ЭЛН, который еще не закрыт медицинской организацией. Согласно процессной модели, страхователь может получить данные ЭЛН для редактированиня только на статусе 030 — Закрыт. Другой пример — бюро МСЭ не может получить данные ЭЛН, который не направлен в бюро МСЭ (статус 040 — Направление на МСЭ)
Что делать:
1. Удостоверьтесь, что номер ЭЛН, данные которого вы хотите получить, введен верно.
2. Дождитесь перехода ЭЛН на статус, который позволит Вам получить данные ЭЛН.
5. Ошибка вызова сервиса передачи / получения данных. Не удалось расшифровать сообщение.
Возможно сообщение было зашифровано на ключе, отличном от ключа уполномоченного лица ФСС.
Проверьте правильность и актуальность ключа уполномоченного лица ФСС.
Причины:
-
В настройках подписания и шифрования в используемом пользователем ПО, в поле «Сертификат уполномоченного лица ФСС» указан неверный сертификат;
-
Используется криптопровайдер Vipnet CSP определенной сборки;
Что делать:
Укажите верный сертификат уполномоченного лица ФСС:
- Определите направление отправки запросов — тестовое или продуктивное;
- Скачайте сертификат уполномоченного лица ФСС, опубликованный в соответствующем разделе (для взаимодействия с ЭЛН, ОВЭД, СЭДО, ЭРС или ПВСО, Ф4) на сайте Фонда:
Сертификат для тестовой отправки опубликован на сайте https://lk-test.fss.ru/cert.html
Сертификат для продуктива опубликован на сайте https://lk.fss.ru/cert.html; - Закройте используемое ПО. Удалите установленные сертификаты ФСС с помощью системной утилиты certmgr.msc (кнопка Пуск — Выполнить (Найти программы и файлы)).
Установите скачанный сертификат на компьютер в хранилище «Личное» для текущего пользователя для взаимодействия с ЭЛН.
Для взаимодействия с шлюзом ПВСО в АРМ Подготовки расчетов для ФСС, сертификат ФСС устанавливается в хранилище «Другие пользователи»; - Укажите данный сертификат в соответствующих настройках используемого ПО.
При использовании криптопровайдера Vipnet CSP — рабочей версией является 4.4 и выше.
6. Ошибка вызова сервиса передачи/получения данных.
Ошибка шифрования сообщения для получателя. Client received SOAP Fault from server: Fault occurred while processing. Please see the log to find more detail regarding exact cause of the failure.null
Причина:
Вы указали неверный сертификат для шифрования сообщения в поле «Имя сертификата МО»: указанный сертификат может быть использован только для подписания, но не шифрования.
Что делать:
Закажите и установите сертификат, который поддерживает не только операцию подписания, но и операцию шифрования.
7. Ошибка при установке АРМ ЛПУ: Unable to build entity manager factory.
Возникла ошибка при попытке загрузки данных из базы данных. Сообщите администратору следующую информацию:
Unable to build entity manager factory.
Причина:
- Приложение было установлено некорректно (некорректно установлена БД);
- База данных приложения установлена, но не доступна.
Что делать:
1. Запустите установку с правами администратора;
2. Выполните установку программы по шагам инструкции (путь, где лежит инструкция: http://lk.fss.ru/eln.html).
Если установка приложения выполнена в соответствии с инструкцией, но ошибка повторяется, необходимо проверить:
- На компьютере отключена служба postgresql-9.5. Правой кнопкой на значке «Мой компьютер» — Управление — Службы и приложения — Службы, postgresql-9.5 должна быть запущена, запуск — автоматически. Для настройки запуска и работы службы Windows обратитесь к вашему системному администратору;
- В настройках подключения к базе данных указан неправильный пароль для пользователя fss. Проверьте, что в БД этот пароль не менялся, пароль по умолчанию — fss;
- Проверьте каталог установки БД PostgreSQL, по умолчанию — C:postgresql;
- Подключение к БД PostgreSQL осуществляется по умолчанию по порту 5432. Этот порт должен быть открыт и доступен. Для проверки обратитесь к вашему системному администратору;
- Приложение на клиентской машине не может связаться с сервером т.к. установлено какое либо сетевое ограничение. Проверьте, настройки антивирусов, файерволов, прочего сетевого ПО, для клиентской машины должны быть прописаны разрешения подключения к серверу по порту 5432.
8. Ошибка при попытке загрузки данных из базы данных.
Возникла ошибка при попытке загрузки данных из базы данных.
Сообщите следующую информацию: org.hibernate.exception.SQLGrammarException: could not extract ResultSet.
Причина:
Приложение АРМ ЛПУ не может получить данные из базы данных PostgreSQL. Эта ошибка возникает чаще всего после установки обновления, когда приложение обновлено, а база данных PostgreSQL по какой либо причине не обновлена.
Что делать:
- Если приложение установлено на компьютере пользователя, а база данных PostgreSQL — на сервере. Необходимо запустить обновление приложение не только на клиенте, но и на серверной машине;
- Если и приложение, и база данных PostgreSQL установлены на одной машине. Проверьте каталог установки приложения. По умолчанию, приложение АРМ ЛПУ ставится в каталог C:FssTools, а база данных PostgreSQL в каталог C:postgresql. Если при первичной установке была выбрана другая директория для установки приложения — то при обновлении вы должны указать именно эту директорию.
9. Ошибка при попытке зайти в настройки подписи в ПО АРМ ЛПУ.
При попытке зайти в настройки подписи в ПО АРМ ЛПУ выходит ошибка «Internal error. Reason: java.lang.ExceptionInInitializerError» или
«Internal Error. Reason: java.lang.NoClassDefFoundError: Could not initialize class ru.ibs.fss.common.security.signature.COMCryptoAPIClient»
Причина:
Приложение было установлено некорректно (не зарегистрирована библиотека GostCryptography.dll).
Что делать:
1. Необходимо убедиться, что разрядность ОС совпадает с разрядностью установщика приложения.
2. Проверить, установлены ли в системе компоненты Microsoft.Net Framework версии 4 и выше (по умолчанию данные компоненты устанавливаются в C:WindowsMicrosoft.NETFramework или C:WindowsMicrosoft.NETFramework64). Данные компоненты можно скачать с сайта microsoft.com.
3. Проверить, что в папке, куда установлено приложение, имеется файл GostCryptography.dll (по умолчанию данный файл устанавливается в C:FssTools). Если данного файла нет, попробуйте переустановить приложение.
4. Если все верно, в командной строке выполнить:
cd C:FssTools — переходим в папку, в которой находится файл GostCryptography.dll
C:WindowsMicrosoft.NETFrameworkv4.0.30319RegAsm.exe /registered GostCryptography.dll — с указанием вашего адреса установки компонентов Microsoft.NET. Обратите внимание, что на ОС Windows 10 адрес установки компонентов Microsoft.NET может отличаться от приведенного в примере (C:WindowsMicrosoft.NETFramework64v4.0.30319RegAsm.exe /registered GostCryptography.dll).
5. Перезапустить приложение.
10. Ошибка вызова сервиса передачи/получения данных. Invalid element in ru.ibs.fss.eln.ws.FileOperationsLn_wsdl.ROW — SERV1_DT1.
Ошибка: «Ошибка вызова сервиса передачи/получения данных. Invalid element in ru.ibs.fss.eln.ws.FileOperationsLn_wsdl.ROW — SERV1_DT1»
Причина:
Поле «SERV1_DT1» было исключено в новой спецификации 1.1 (14 версия и выше АРМ ЛПУ), изменена строка соединения.
Что делать:
Поменять строку соединения в настройках.
В меню Администрирование – Настройки сервисов ФСС – Строка соединения, укажите следующий адрес сервиса:
- Для работы https://docs.fss.ru/WSLnCryptoV11/FileOperationsLnPort?WSDL
- Для тестирования:
С шифрованием https://docs-test.fss.ru/WSLnCryptoV11/FileOperationsLnPort?WSDL
Без шифрования https://docs-test.fss.ru/WSLnV11/FileOperationsLnPort?WSDL (Обратите внимание, при отправке на сервис без шифрования в настройках электронной подписи должен быть снят флаг «Шифровать сообщение»)
11. Ошибка при старте АРМ ЛПУ «В базе данных АРМ ЛПУ имеется некорректная запись» (Transaction already active)
Причина:
Данная ошибка возникает в случае, когда в какой либо таблице БД приложения сохранены некорректные записи (например, пустое или некорректное значение номера ЭЛН, пустые обязательные поля, строки с одинаковым значением номера ЭЛН, в т.ч. записи-дубли). Если в БД АРМ ЛПУ имеются такие записи, то возможны следующие ошибки:
- Отправка и получение ЭЛН может происходить некорректно, зависать окно статусной строки;
- Невозможно запросить номер ЭЛН из формы ЭЛН.
Что делать:
Для исправления нужно удалить из БД приложения неверную строку (такие записи можно удалить только вручную).
Необходимо подключиться к серверу базы данных PostgreSQL, найти и удалить из базы ошибочную строку. При установке АРМ ЛПУ, вместе с БД и компонентами PostgreSQL устанавливается клиент для подключения к БД. По умолчанию находится здесь: C:postgresqlbinpgAdmin3.exe
В интерфейсе клиента открывается сервер PostgreSQL 9.5. Затем открывается схема fss (пользователь fss, пароль fss) – Схемы – public – Таблицы.
Данные в АРМ ЛПУ хранятся в таблицах:
- fc_eln_data_history — данные листков нетрудоспособнсти;
- fc_eln_periods — сведения о периодах нетрудоспособности;
- ref_ln_numbers — список запрошенных номеров ЭЛН.
Для просмотра таблицы необходимо выделить ее в дереве таблиц и нажать на значок «Просмотр данных в выбранном объекте»
Выделяете и удаляете (delete) строку, которая содержит пустое значение номера ЭЛН или другие ошибки.
Как вариант, для поиска и удаления ошибочных записей возможно использование SQL запроса типа:
select id from fc_eln_data_history where ln_code is null;
delete from fc_eln_data_history where id = ваш id;
Для открытия окна SQL запросов необходимо в главном меню нажать на значок «SQL».
Обратите внимание! При удалении строки ЭЛН, если в этом ЭЛН были созданы периоды нетрудоспособности, сначала необходимо удалить их. Периоды нетрудоспособности хранятся в отдельной таблице fc_eln_periods и связаны с fc_eln_data_history по номеру ЭЛН. Просмотр и удаление периодов аналогично, описанному выше.
12. Установка нового сертификата ФСС.
Установка нового сертификата ФСС описана в инструкции, которую можно скачать по ссылке
https://cabinets.fss.ru/Установка нового сертификата ФСС.docx
13. АРМ Подготовки расчетов для ФСС, ошибка «Набор ключей не определен»
Причина:
ГОСТ сертификата ФСС не соответствует выбранному в настройках криптопровайдеру, либо криптопровайдер не может получить закрытый ключ из контейнера закрытого ключа для выбранного сертификата.
Что делать:
- В настройках АРМ Подписания и шифрования проверить, что указанный криптопровайдер соответствует реально установленному у пользователя;
- В настройках АРМ Подписания и шифрования проверить, что ГОСТы сертификата подписания и сертификата ФСС одинаковы и соответствуют выбранному криптопровайдеру;
- Если используется сертификат ЭП по ГОСТ 2012, откройте сертификат, вкладка «Состав», параметр «Средство электронной подписи».
Необходимо проверить, что средство ЭП соответствует криптопровайдеру, установленному у пользователя; - Если используется сертификат ЭП по ГОСТ 2012 и криптопровайдер КриптоПро, проверьте настройки на вкладке «Алгоритмы». В выпадающем списке «Выберите тип CSP» выберите GOST R 34.10-2012 (256). Должны быть установлены следующие параметры:
-
«Параметры алгоритма шифрования» — ГОСТ 28147-89, параметры алгоритма шифрования TK26 Z
-
«Параметры алгоритма подписи» — ГОСТ 34.10-2001, параметры по умолчанию
-
«Параметры алгоритма Диффи-Хеллмана» — ГОСТ 34.10-2001, параметры обмена по умолчанию
-
- В сертификате отсутствует закрытый ключ. С помощью системной утилиты certmgr.msc откройте сертификат, на вкладке «Общие» должно быть написано «Есть закрытый ключ для этого сертификата»;
- Криптопровайдер не видит контейнер закрытого ключа для этого сертификата. В криптопровайдере КриптоПро CSP перейдите на вкладку «Сервис» и нажмите «Удалить запомненные пароли» — для пользователя;
- Возможно, контейнер поврежден сторонним ПО. Переустановите сертификат заново, с обязательным указанием контейнера;
- Переустановите криптопровайдер.
14. АРМ ЛПУ, ошибка «Ошибка при проверке соединения с ФСС»
Ошибка: Ошибка дешифрования сообщения. Ошибка при попытке расшифровать сообщение. Стек: java.lang.NullPointerException
org.apache.cxf.binding.soap.SoapFault: Ошибка при попытке расшифровать сообщение. Стек: java.lang.NullPointerException
Причина:
Расшифровывается запрос пользователя на сертификате ФСС, необходимо проверить настройки шифрования в настройках электронной подписи, определить причины возникновения в «Настройках электронной подписи»:
-
В составе сертификата раздел «Использование ключа» нет атрибута «Шифрование данных»
-
не проставлена галка «Шифровать сообщение» (для строки соединения с ФСС, где прописано «…-crypto-v20…»)
-
выбран тестовый сертификат ФСС для Прода (и наоборот), либо ошибка в самом сертификате
-
Неправильные настройки криптопровайдера
-
Истечение срока действия сертификата, закрытого ключа или лицензии КриптоПро CSP
Что делать:
см. п.1, п.5
15. АРМ ЛПУ, ошибка «Ошибка вызова сервиса передачи/получения данных. Ошибка шифрования сообщения»
Ошибка вызова сервиса передачи/получения данных. Ошибка шифрования сообщения. Ошибка при попытке зашифровать сообщение. Стек:
java.lang.NullPointerException…
Причина:
Зашифровывается сообщение пользователя на сертификате МО, указанное в настройках.
Что делать:
см. п.1
I am developing a java web application using Hibernate and MySQL. Sometimes when I try to persist things, I get this rollback exception:
javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:94)
at com.tulips.dao.CommentDao.saveOrUpdate(CommentDao.java:42)
at com.tulips.servlets.CommentsServlet.doPost(CommentsServlet.java:168)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:155)
at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:91)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:55)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1222)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:177)
at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:77)
... 23 more
here is my persistence.xml file :
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="licenta_pu"
transaction-type="RESOURCE_LOCAL">
<!-- <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/tulips"/>
<property name="hibernate.connection.username" value="...." />
<property name="hibernate.connection.password" value="...." />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
<property name="hibernate.show-sql" value="false" />
<!-- <property name="hibernate.jdbc.batch_size" value="1000" /> -->
<!-- <property name="hibernate.hbm2ddl.auto" value="update" /> -->
</properties>
</persistence-unit>
</persistence>
I’ve tried changing the hibernate provider but that didn’t help [org.hibernate.ejb.HibernatePersistence and org.hibernate.jpa.HibernatePersistenceProvider]
I don’t know exactly how to replicate this error, sometimes I get it, sometimes I don’t. I have observed that every time after I restart my computer and run the project in Eclipse, and try to persist data, it works. If I stop the project, eventually add some data into the database via MySQL Workbench, and then run the project again, I get the error.
Here is my EntityManagerHolder:
public class EntityManagerHolder {
private static EntityManagerHolder INSTANCE = new EntityManagerHolder();
private EntityManagerFactory emf;
private EntityManager entityManager;
public EntityManager getEntityManager() {
return entityManager;
}
public static EntityManagerHolder getInstance() {
return INSTANCE;
}
private EntityManagerHolder() {
super();
emf = Persistence
.createEntityManagerFactory("licenta_pu");
entityManager = emf.createEntityManager();
}
}
Here is my GenericDao:
import javax.persistence.EntityManager;
import javax.transaction.Transactional;
import com.tulips.model.AbstractEntity;
@Transactional
public abstract class GenericDao {
protected EntityManager em;
public GenericDao(EntityManager em) {
this.em = em;
}
public void saveOrUpdate(AbstractEntity e) {
if (e == null) {
throw new NullPointerException("Trying to persist a null object");
}
em.getTransaction().begin();
if (e.getId() == null) {
em.persist(e);
} else {
em.merge(e);
}
em.getTransaction().commit();
}
}
I’m using the following Hibernate libraries:
mysql-connector-java-5.1.9.jar;
hibernate-commons-annotations-4.0.4.Final.jar;
hibernate-core-4.3.4.Final.jar;
hibernate-entitymanager-4.3.4.Final.jar;
hibernate-jpa-2.1-api-1.0.0.Final.jar;
I’ve got the following error when updating.
26/01/2013 19:23:35 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk-amd64/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
26/01/2013 19:23:35 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:politicoPRIME’ did not find a matching property.
26/01/2013 19:23:35 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler [«http-bio-6080»]
26/01/2013 19:23:35 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler [«ajp-bio-8009»]
26/01/2013 19:23:35 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 741 ms
26/01/2013 19:23:35 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
26/01/2013 19:23:35 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.33
26/01/2013 19:23:38 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.0.4 (FCS b09) para o contexto ‘/politico’
26/01/2013 19:23:38 com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
26/01/2013 19:23:39 org.primefaces.webapp.PostConstructApplicationEventListener processEvent
INFO: Running on PrimeFaces 3.4.1
26/01/2013 19:23:39 com.sun.faces.config.ConfigureListener$WebConfigResourceMonitor$Monitor <init>
INFO: Monitoring jndi:/localhost/politico/WEB-INF/faces-config.xml for modifications
26/01/2013 19:23:39 org.apache.catalina.session.StandardManager doLoad
SEVERE: IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.catalina.session.StandardSessionFacade
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.catalina.session.StandardSessionFacade
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1595)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1060)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:284)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.io.NotSerializableException: org.apache.catalina.session.StandardSessionFacade
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1671)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1077)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:432)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:353)
at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:518)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5474)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
… 5 more
26/01/2013 19:23:39 org.apache.catalina.session.StandardManager startInternal
SEVERE: Exception loading sessions from persistent storage
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.catalina.session.StandardSessionFacade
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1595)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1060)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:284)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.io.NotSerializableException: org.apache.catalina.session.StandardSessionFacade
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1671)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1077)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:432)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:353)
at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:518)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5474)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
… 5 more
26/01/2013 19:23:39 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [«http-bio-6080»]
26/01/2013 19:23:39 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [«ajp-bio-8009»]
26/01/2013 19:23:39 org.apache.catalina.startup.Catalina start
INFO: Server startup in 4103 ms
/politico/javax.faces.resource/layout/layout.css.xhtml
/politico/javax.faces.resource/layout/layout.js.xhtml
/politico/javax.faces.resource/layout/layout.css.xhtml
/politico/javax.faces.resource/layout/layout.js.xhtml
Hibernate:
select
user0_.id as id3_,
user0_.active as active3_,
user0_.dateCreate as dateCreate3_,
user0_.email as email3_,
user0_.fullName as fullName3_,
user0_.owner_id as owner11_3_,
user0_.password as password3_,
user0_.photo as photo3_,
user0_.role as role3_,
user0_.userGroup_id as userGroup12_3_,
user0_.username as username3_,
user0_.version as version3_
from
USERS user0_
where
user0_.username=?
and user0_.active=true
order by
user0_.fullName limit ?
Hibernate:
select
lead0_.id as id7_,
lead0_.active as active7_,
lead0_.affiliate as affiliate7_,
lead0_.birthday as birthday7_,
lead0_.currentPosition as currentP5_7_,
lead0_.lead as lead7_,
lead0_.name as name7_,
lead0_.nickname as nickname7_,
lead0_.owner_id as owner13_7_,
lead0_.politicalParty as politica9_7_,
lead0_.profession as profession7_,
lead0_.segment as segment7_,
lead0_.version as version7_
from
LEADS lead0_
order by
lead0_.name
Hibernate:
select
companyown0_.id as id11_3_,
companyown0_.active as active11_3_,
companyown0_.individualPerson_id as individu6_11_3_,
companyown0_.legalEntity_id as legalEnt7_11_3_,
companyown0_.owner_id as owner8_11_3_,
companyown0_.version as version11_3_,
companyown0_.code as code11_3_,
companyown0_.contractDate as contract5_11_3_,
individual1_.id as id1_0_,
individual1_.email as email1_0_,
individual1_.photo as photo1_0_,
individual1_.version as version1_0_,
individual1_.birthday as birthday1_0_,
individual1_.cpf as cpf1_0_,
individual1_.fullName as fullName1_0_,
individual1_.sex as sex1_0_,
legalentit2_.id as id0_1_,
legalentit2_.email as email0_1_,
legalentit2_.photo as photo0_1_,
legalentit2_.version as version0_1_,
legalentit2_.cnpj as cnpj0_1_,
legalentit2_.corporateName as corporat6_0_1_,
legalentit2_.fancyName as fancyName0_1_,
legalentit2_.openingDate as openingD8_0_1_,
legalentit2_.stateRegistration as stateReg9_0_1_,
companyown3_.id as id11_2_,
companyown3_.active as active11_2_,
companyown3_.individualPerson_id as individu6_11_2_,
companyown3_.legalEntity_id as legalEnt7_11_2_,
companyown3_.owner_id as owner8_11_2_,
companyown3_.version as version11_2_,
companyown3_.code as code11_2_,
companyown3_.contractDate as contract5_11_2_
from
COMPANYOWNERS companyown0_
left outer join
INDIVIDUALPERSONS individual1_
on companyown0_.individualPerson_id=individual1_.id
left outer join
LEGALENTITIES legalentit2_
on companyown0_.legalEntity_id=legalentit2_.id
left outer join
COMPANYOWNERS companyown3_
on companyown0_.owner_id=companyown3_.id
where
companyown0_.id=?
Hibernate:
select
addresses0_.LEADS_id as LEADS1_7_1_,
addresses0_.addresses_id as addresses2_1_,
address1_.id as id13_0_,
address1_.addressType as addressT2_13_0_,
address1_.city_id as city10_13_0_,
address1_.complement as complement13_0_,
address1_.landmark as landmark13_0_,
address1_.neighborhood as neighbor5_13_0_,
address1_.number as number13_0_,
address1_.postalCode as postalCode13_0_,
address1_.publicPark as publicPark13_0_,
address1_.version as version13_0_
from
LEADS_ADDRESSES addresses0_
inner join
ADDRESSES address1_
on addresses0_.addresses_id=address1_.id
where
addresses0_.LEADS_id=?
Hibernate:
select
city0_.id as id12_0_,
city0_.active as active12_0_,
city0_.capital as capital12_0_,
city0_.description as descript4_12_0_,
city0_.state_id as state6_12_0_,
city0_.version as version12_0_
from
CITIES city0_
where
city0_.id=?
Hibernate:
select
phones0_.LEADS_id as LEADS1_7_1_,
phones0_.phones_id as phones2_1_,
phone1_.id as id8_0_,
phone1_.contact as contact8_0_,
phone1_.ddd as ddd8_0_,
phone1_.extension as extension8_0_,
phone1_.number as number8_0_,
phone1_.phoneType as phoneType8_0_,
phone1_.version as version8_0_
from
LEADS_PHONES phones0_
inner join
PHONES phone1_
on phones0_.phones_id=phone1_.id
where
phones0_.LEADS_id=?
Hibernate:
select
socialnetw0_.LEADS_id as LEADS1_7_1_,
socialnetw0_.socialNetworks_id as socialNe2_1_,
socialnetw1_.id as id9_0_,
socialnetw1_.description as descript2_9_0_,
socialnetw1_.socialNetworkType as socialNe3_9_0_,
socialnetw1_.version as version9_0_
from
LEADS_SOCIAL_NETWORKS socialnetw0_
inner join
SOCIAL_NETWORKS socialnetw1_
on socialnetw0_.socialNetworks_id=socialnetw1_.id
where
socialnetw0_.LEADS_id=?
Hibernate:
select
politicals0_.LEADS_id as LEADS1_7_1_,
politicals0_.politicalSupports_id as politica2_1_,
politicals1_.id as id5_0_,
politicals1_.description as descript2_5_0_,
politicals1_.politicalOfficeType as politica3_5_0_,
politicals1_.politicalParty as politica4_5_0_,
politicals1_.version as version5_0_
from
LEADS_POLITICAL_SUPPORT politicals0_
inner join
POLITICAL_SUPPORT politicals1_
on politicals0_.politicalSupports_id=politicals1_.id
where
politicals0_.LEADS_id=?
Hibernate:
select
comments0_.LEADS_id as LEADS1_7_1_,
comments0_.comments_id as comments2_1_,
comment1_.id as id6_0_,
comment1_.comment as comment6_0_,
comment1_.user_id as user4_6_0_,
comment1_.version as version6_0_
from
LEADS_COMMENTS comments0_
inner join
COMMENTS comment1_
on comments0_.comments_id=comment1_.id
where
comments0_.LEADS_id=?
Hibernate:
select
companyown0_.id as id11_,
companyown0_.active as active11_,
companyown0_.individualPerson_id as individu6_11_,
companyown0_.legalEntity_id as legalEnt7_11_,
companyown0_.owner_id as owner8_11_,
companyown0_.version as version11_,
companyown0_.code as code11_,
companyown0_.contractDate as contract5_11_
from
COMPANYOWNERS companyown0_
where
companyown0_.id=?
order by
companyown0_.code
Hibernate:
select
individual0_.id as id1_0_,
individual0_.email as email1_0_,
individual0_.photo as photo1_0_,
individual0_.version as version1_0_,
individual0_.birthday as birthday1_0_,
individual0_.cpf as cpf1_0_,
individual0_.fullName as fullName1_0_,
individual0_.sex as sex1_0_
from
INDIVIDUALPERSONS individual0_
where
individual0_.id=?
Hibernate:
select
lead0_.id as id7_4_,
lead0_.active as active7_4_,
lead0_.affiliate as affiliate7_4_,
lead0_.birthday as birthday7_4_,
lead0_.currentPosition as currentP5_7_4_,
lead0_.lead as lead7_4_,
lead0_.name as name7_4_,
lead0_.nickname as nickname7_4_,
lead0_.owner_id as owner13_7_4_,
lead0_.politicalParty as politica9_7_4_,
lead0_.profession as profession7_4_,
lead0_.segment as segment7_4_,
lead0_.version as version7_4_,
companyown1_.id as id11_0_,
companyown1_.active as active11_0_,
companyown1_.individualPerson_id as individu6_11_0_,
companyown1_.legalEntity_id as legalEnt7_11_0_,
companyown1_.owner_id as owner8_11_0_,
companyown1_.version as version11_0_,
companyown1_.code as code11_0_,
companyown1_.contractDate as contract5_11_0_,
individual2_.id as id1_1_,
individual2_.email as email1_1_,
individual2_.photo as photo1_1_,
individual2_.version as version1_1_,
individual2_.birthday as birthday1_1_,
individual2_.cpf as cpf1_1_,
individual2_.fullName as fullName1_1_,
individual2_.sex as sex1_1_,
legalentit3_.id as id0_2_,
legalentit3_.email as email0_2_,
legalentit3_.photo as photo0_2_,
legalentit3_.version as version0_2_,
legalentit3_.cnpj as cnpj0_2_,
legalentit3_.corporateName as corporat6_0_2_,
legalentit3_.fancyName as fancyName0_2_,
legalentit3_.openingDate as openingD8_0_2_,
legalentit3_.stateRegistration as stateReg9_0_2_,
companyown4_.id as id11_3_,
companyown4_.active as active11_3_,
companyown4_.individualPerson_id as individu6_11_3_,
companyown4_.legalEntity_id as legalEnt7_11_3_,
companyown4_.owner_id as owner8_11_3_,
companyown4_.version as version11_3_,
companyown4_.code as code11_3_,
companyown4_.contractDate as contract5_11_3_
from
LEADS lead0_
left outer join
COMPANYOWNERS companyown1_
on lead0_.owner_id=companyown1_.id
left outer join
INDIVIDUALPERSONS individual2_
on companyown1_.individualPerson_id=individual2_.id
left outer join
LEGALENTITIES legalentit3_
on companyown1_.legalEntity_id=legalentit3_.id
left outer join
COMPANYOWNERS companyown4_
on companyown1_.owner_id=companyown4_.id
where
lead0_.id=?
Hibernate:
select
address0_.id as id13_0_,
address0_.addressType as addressT2_13_0_,
address0_.city_id as city10_13_0_,
address0_.complement as complement13_0_,
address0_.landmark as landmark13_0_,
address0_.neighborhood as neighbor5_13_0_,
address0_.number as number13_0_,
address0_.postalCode as postalCode13_0_,
address0_.publicPark as publicPark13_0_,
address0_.version as version13_0_
from
ADDRESSES address0_
where
address0_.id=?
Hibernate:
select
comment0_.id as id6_0_,
comment0_.comment as comment6_0_,
comment0_.user_id as user4_6_0_,
comment0_.version as version6_0_
from
COMMENTS comment0_
where
comment0_.id=?
Hibernate:
select
comment0_.id as id6_0_,
comment0_.comment as comment6_0_,
comment0_.user_id as user4_6_0_,
comment0_.version as version6_0_
from
COMMENTS comment0_
where
comment0_.id=?
Hibernate:
select
phone0_.id as id8_0_,
phone0_.contact as contact8_0_,
phone0_.ddd as ddd8_0_,
phone0_.extension as extension8_0_,
phone0_.number as number8_0_,
phone0_.phoneType as phoneType8_0_,
phone0_.version as version8_0_
from
PHONES phone0_
where
phone0_.id=?
Hibernate:
select
phone0_.id as id8_0_,
phone0_.contact as contact8_0_,
phone0_.ddd as ddd8_0_,
phone0_.extension as extension8_0_,
phone0_.number as number8_0_,
phone0_.phoneType as phoneType8_0_,
phone0_.version as version8_0_
from
PHONES phone0_
where
phone0_.id=?
Hibernate:
select
politicals0_.id as id5_0_,
politicals0_.description as descript2_5_0_,
politicals0_.politicalOfficeType as politica3_5_0_,
politicals0_.politicalParty as politica4_5_0_,
politicals0_.version as version5_0_
from
POLITICAL_SUPPORT politicals0_
where
politicals0_.id=?
Hibernate:
select
socialnetw0_.id as id9_0_,
socialnetw0_.description as descript2_9_0_,
socialnetw0_.socialNetworkType as socialNe3_9_0_,
socialnetw0_.version as version9_0_
from
SOCIAL_NETWORKS socialnetw0_
where
socialnetw0_.id=?
Hibernate:
select
socialnetw0_.id as id9_0_,
socialnetw0_.description as descript2_9_0_,
socialnetw0_.socialNetworkType as socialNe3_9_0_,
socialnetw0_.version as version9_0_
from
SOCIAL_NETWORKS socialnetw0_
where
socialnetw0_.id=?
Hibernate:
select
socialnetw0_.id as id9_0_,
socialnetw0_.description as descript2_9_0_,
socialnetw0_.socialNetworkType as socialNe3_9_0_,
socialnetw0_.version as version9_0_
from
SOCIAL_NETWORKS socialnetw0_
where
socialnetw0_.id=?
javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:93)
at br.com.blacksystems.politico.dao.GenericDAO.commit(GenericDAO.java:39)
at br.com.blacksystems.politico.dao.LeadDAO.commit(LeadDAO.java:1)
at br.com.blacksystems.politico.dao.GenericDAO.commitAndCloseTransaction(GenericDAO.java:51)
at br.com.blacksystems.politico.dao.LeadDAO.commitAndCloseTransaction(LeadDAO.java:1)
at br.com.blacksystems.politico.facede.LeadFacede.update(LeadFacede.java:44)
at br.com.blacksystems.politico.mb.LeadMB.update(LeadMB.java:111)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.el.parser.AstValue.invoke(AstValue.java:278)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at br.com.blacksystems.politico.filter.DefaultUserPagesFilter.doFilter(DefaultUserPagesFilter.java:38)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at br.com.blacksystems.politico.filter.LoginCheckFilter.doFilter(LoginCheckFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: javax.persistence.PersistenceException: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1214)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1147)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:81)
… 47 more
Caused by: org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
at org.hibernate.collection.AbstractPersistentCollection.setCurrentSession(AbstractPersistentCollection.java:435)
at org.hibernate.event.def.WrapVisitor.processCollection(WrapVisitor.java:66)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:122)
at org.hibernate.event.def.WrapVisitor.processValue(WrapVisitor.java:120)
at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:77)
at org.hibernate.event.def.DefaultFlushEntityEventListener.wrapCollections(DefaultFlushEntityEventListener.java:218)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:152)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:76)
… 47 more
На экране может появится сообщение, что оно не отвечает формату XML Encryption. Также сразу предлагается обратиться к разработчикам программного оборудования, которые занимаются шифрованием данных. Им нужно отправить следующее: нет доступа к EncryptedData class ru.ibs.cryptopro.jcp.crypt.CryptoException.
Причина появления ошибки ФСС
Считается, что с помощью XML Encryption можно шифровать любые данные. Но чаще это используется с шифрованием текста, алгоритмов и ключевой информации. Для дешифрования используется элемент KeyInfo. Он может быть прикреплен к каналу или сообщению, в котором используется шифрование. Но это не обязательно, так как может и не быть прикрепленным к зашифрованному тексту.
Ошибка ФСС появляется, если Вы собираетесь оправить сообщение, но это не получается, так как нет электронной подписи «шифрования сообщения».
Решение проблемы
Начать решение нужно с настройки АРМ ЛПУ. Для этого стоит сделать:
- Запустить меню Администрирование и запустить Настройку сервисов ФСС. После этого находим Строка соединения и туда нужно вписать некоторые данные.
Строка соединения в настройке сервисов ФСС
- Дальше нужно запустить меню Администрирования и найти раздел настройки электронных подписей. Почти в середине этого меню будет возможность поставить отметку возле «Шифровать сообщение». Мы должны её поставить. Сразу под этим будет два свободных поля – это «Тип контейнера» и «Имя сертификата ФСС». Их тоже заполняем.
Заполняем тип контейнера и имя сертификата
Если вы хотите проверить работу и понять для себя, как оно функционирует, то указывая имя сертификата ФСС напишите: «тестовый». Когда его скачаете, устанавливайте на компьютер и запускайте.
Если же вы хотите использовать его для работы, то в имени ФСС укажите обычное и тогда всё будет работать.
Таким образом шифрование сообщений восстанавливается и теперь система пропустит их отправку. В некоторых случаях настройки шифрования сбиваются и система не может защитить сообщения, хотя этого требует код. В этом случае и возникает запрет на отправку сообщений, пока не будет восстановлен должный уровень защиты данных.
Некоторые современные программы шифруют все сообщения. Там используется встроенная система шифрования и дешифрования. Так они защищают частную информацию от взлома. Пользователь не видит всех программных механизмов, а только текст сообщения. Это упрощает использование программ.
Актуальное на этой неделе:
11.04.2022
Если вам на карту неожиданно пришли деньги, что делать?
Когда поступают деньги на карту, владелец обычно знает, что и откуда «падает». Родственник прислал, долг…
Далее
06.04.2022
Как добавить VPN на Андроид через настройки
Ограничения доступа в интернет раздражает и не дает использовать интересные подключения. Проблема решается…
Далее
06.04.2022
Как создать канал в Telegram: пошаговое руководство и советы
Собственный Telegram-канал может завести любой человек. Мессенджер в данном случае никого не ограничивает. При…
Далее
19.03.2022
Код ошибки 60-02 и 01-03 в Сбербанк Онлайн – как исправить?
«Сбербанк онлайн» — это удобный сервис, позволяющий проводить финансовые манипуляции из любой точки мира….
Далее
Я хочу создать веб-приложение и использовать JPA для слоя модели в MVC. Но у меня проблемы. Программа показывает мне эту ошибку:
Exception in thread "main" javax.persistence.RollbackException: Error while committing the transaction
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:92)
at model.bl.PersonManager.main(PersonManager.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:80)
... 6 more
Caused by: org.hibernate.exception.SQLGrammarException: could not execute statement
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:82)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:136)
at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3058)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3499)
at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:88)
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:275)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:328)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1233)
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:403)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:75)
... 6 more
Caused by: java.sql.SQLSyntaxErrorException: ORA-01747: invalid user.table.column, table.column, or column specification
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1046)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3694)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1354)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:133)
... 20 more
У меня есть буксир: 1 человек (пользователь) 2 фотографии. у любого человека может быть несколько картинок.
Класс человека:
package model.entity;
import model.bl.PersonManager;
import javax.persistence.*;
import java.io.Serializable;
import java.util.List;
//mapping class to table
@Entity (name = "person")
@Table(name = "USERS")
@EntityListeners(value = PersonManager.class)
public class Person implements Serializable
{
@Id // create id and fill auto by sequence in database
@Column(name="UID" ,columnDefinition = "NUMBER" )
@SequenceGenerator(name = "mySeq" , sequenceName = "DB_MYSEQ")
@GeneratedValue(strategy=GenerationType.AUTO ,generator="mySeq")
private long uId;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "FK_PERSON",referencedColumnName = "UID")
private List<Pictures> picturesList;
@Basic
@Column (name = "USERNAME" , columnDefinition = "NVARCHAR2(30)" , nullable = false , unique = true)
private String username ;
@Basic
@Column (name = "PASSWORD" , columnDefinition = "NVARCHAR2(32)" , nullable = false , unique = true)
private String password ;
@Basic
@Column (name = "EMAIL" , columnDefinition = "NVARCHAR2(40)" , nullable = false)
private String email;
@Basic
@Column (name = "SEX" , columnDefinition = "NVARCHAR2(20)")
private String sex ;
//--------------------------------------------------------
public Person() { }
public Person(String username, String password, String email, String sex, String userPic) {
this.username = username;
this.password = password;
this.email = email;
this.sex = sex;
this.userPic = userPic;
}
public Person(String username, String password, String email ,String sex, String userPic,List<Pictures> picturesList ) {
this.picturesList = picturesList;
this.sex = sex;
this.userPic = userPic;
this.email = email;
this.password = password;
this.username = username;
}
//--------------------------------------------------------
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void setEmail(String email) {
this.email = email;
}
public void setUserPic(String userPic) {
this.userPic = userPic;
}
public void setSex(String sex) {
this.sex = sex;
}
public void setuId(long uId) {this.uId = uId;}
//--------------------------------------------------------
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public String getUserPic() {
return userPic;
}
public String getEmail() {
return email;
}
public String getSex() {
return sex;
}
public long getuId() {return uId;}
}
}
Класс изображений:
package model.entity;
import javax.persistence.*;
import java.io.Serializable;
@Entity(name = "picture")
@Table(name = "PICTURE")
public class Pictures implements Serializable
{
@Id // create id and fill auto by sequence in database
@Column(name="PID" ,columnDefinition = "NUMBER" )
@SequenceGenerator(name = "mySeq2" , sequenceName = "DB_MYSEQ2")
@GeneratedValue(strategy=GenerationType.AUTO ,generator="mySeq2")
private long pId;
@Basic
@Column (name = "PICADRESS" , columnDefinition = "NVARCHAR2(50)" , nullable = false)
private String picAdress ;
@Basic
@Column (name = "CAPTION" , columnDefinition = "LONG")
private String caption;
@Basic // user picture for profile
@Column (name = "LIKES" , columnDefinition = "NUMBER")
private int likes;
//--------------------------------------------------------
public Pictures(){}
public Pictures( String picAdress, String caption, int likes) {
this.picAdress = picAdress;
this.caption = caption;
this.likes = likes;
}
//--------------------------------------------------------
public void setPid(long pid) {
this.pId = pid;
}
public void setLikes(int likes) {
this.likes = likes;
}
public void setPicAdress(String picAdress) {
this.picAdress = picAdress;
}
public void setCaption(String caption) {
this.caption = caption;
}
//--------------------------------------------------------
public int getLikes() {
return likes;
}
public String getCaption() {
return caption;
}
public String getPicAdress() {
return picAdress;
}
public long getPid() {
return pId;
}
}
Мой поставщик JPA:
public class JPAProvider {
private static final EntityManagerFactory entityManagerFactory;//instate of session for connect to database
static{
entityManagerFactory = Persistence.createEntityManagerFactory("MyConnection");
}
public static EntityManagerFactory getEntityManagerFactory() {
return entityManagerFactory;
}
}
Класс PersonManager:
public class PersonManager {
public static void main(String[] args) {
EntityManager entityManager = JPAProvider.getEntityManagerFactory().createEntityManager();
EntityTransaction entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
Pictures pictures = new Pictures("aaa" , "akflkkgl" ,2);
Pictures pictures2 = new Pictures("nnbnbn" , "affddA" ,5);
List<Pictures> picturesList =new ArrayList<Pictures>();
picturesList.add(pictures);
picturesList.add(pictures2);
Person person = new Person("midas" , "midas123" , "aaaaa@gmail.com", "female" ,"female-user.png",picturesList );
entityManager.persist(person);
entityTransaction.commit();
entityManager.close();
}
}
И persistence.xml:
<persistence-unit name="MyConnection" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
<property name="hibernate.connection.username" value="midas"/>
<property name="hibernate.connection.password" value="midas123"/>
<property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
<property name="show_sql" value="true"></property>
</properties>
</persistence-unit>
Я использовал следующие библиотеки:
1) hibernate-enverc-4.2.0.final
2) спящий режим-jpa-2.0-api-1.0.1-final.jar
3) библиотека tomcat
Моя версия JDK = 1.8.0-172
Я искал и проверял похожие вопросы, но не смог исправить свою проблему, потому что причины ошибок были разными. пожалуйста, помогите мне .
Вы получаете ошибку из-за неправильного использования зарезервированного слова.
password
— зарезервированное слово в Oracle, см. здесь
Вы должны добавить это свойство в persistence.xml :
hibernate.globally_quoted_identifiers=true
Или вручную выйдите из поля следующим образом:
@Basic
@Column (name = ""PASSWORD"" , columnDefinition = "NVARCHAR2(32)" , nullable = false , unique = true)
private String password ;
Начиная с JPA 2.0, приведенный выше синтаксис стандартизирован.