Как исправить org.hibernate.PropertyAccessException: исключение IllegalArgumentException в весенней загрузке приложения - PullRequest
0 голосов
/ 10 января 2019

Я получаю следующее исключение при запуске приложения весенней загрузки. Но тот же код прекрасно работает, когда мы выполняем как обычный Java.

Исключение:

в org.springframework.boot.devtools.restart.RestartLauncher.run (RestartLauncher.java:49) Вызвано: org.hibernate.PropertyAccessException: IllegalArgumentException произошел вызов вызывающего получателя com.sample.model.TRSN_LOOKUP.emClntId в org.hibernate.property.access.spi.GetterMethodImpl.get (GetterMethodImpl.java:64) в org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier (AbstractEntityTuplizer.java:230) в org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier (AbstractEntityPersister.java:4725)

Это для отдельного приложения с весенней загрузкой, работающего в Windows

 Session session = getSession();
if (!session.getTransaction().isActive() )
    session.beginTransaction();

    TRSN_LOOKUP trsnlookup = new TRSN_LOOKUP();             

        trsnlookup.setPrsnid(PrsnId);
        trsnlookup.setEmClntId(clientId);           

    session.save(trsnlookup);
    session.getTransaction().commit();

1 Ответ

0 голосов
/ 10 января 2019

Продолжение моего комментария:

Просто попробуйте свойство naming-strategy, которое поможет вам использовать похожее имя.

Например, Spring изменит имя сущности с TRSN_LOOKUP на tRSN_LOOKUP. Поэтому попробуйте добавить еще одно свойство в hibernate.

Существует два типа стратегии, вы можете использовать 2-й:

1. org.hibernate.cfg.ImprovedNamingStrategy

2. org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

, который поможет вам сохранить одно и то же имя во всех полях БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...