После запуска моего приложения с весенней загрузкой появляется предупреждение:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.hibernate.internal.util.ReflectHelper (file:/C:/Users/xxxx/.m2/repository/org/hibernate/hibernate-core/5.3.7.Final/hibernate-core-5.3.7.Final.jar) to field java.lang.String.coder
WARNING: Please consider reporting this to the maintainers of org.hibernate.internal.util.ReflectHelper
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
В результате моя таблица имеет столбец Coder вместо фактического имени, такого как моя сущность -
@Entity
public class TaxValuesEntity {
@EmbeddedId
public String countryCodePK;
public double taxValue;
public Timestamp creationAt;
public Timestamp modifedAt;
protected TaxValuesEntity() {
};
public TaxValuesEntity(String countryCode, double taxValue, Timestamp creation, Timestamp modifed) {
this.countryCodePK = countryCode;
this.taxValue = taxValue;
this.creationAt = creation;
this.modifedAt = modifed;
}
//getters & setters ...
};
Благодарим за любую помощь и, пожалуйста, прокомментируйте ниже, если требуется больше кода.
Открыл JDK 11, забыл написать.




Замените EmbeddedId на Id следующим образом:
import javax.persistence.Id;
@Entity
public class TaxValuesEntity {
@Id
public String countryCodePK;
EmbeddedId предназначен для составного первичного ключа.
У меня была аналогичная проблема с JDK11 и Mockito. Исправление заключалось в использовании последней версии Mockito. Возможно, проверьте версию Hibernate и текущий статус поддержки JDK 11. При быстром поиске нашел это использование гибернации с jdk11 и спящий режим версии 5.4
После изменения проекта на JDK 8 ошибка разрешилась. Буду ждать обновлений JDK 11.
Вроде 5.4 стабильна и поддерживает, если хочется поэкспериментировать :).
Не совсем, пока отложу этот выпуск, спасибо.
Какая версия загрузки Java и Spring?