После выполнения некоторого рефакторинга двигающегося несколько классов в разные пакеты, я начал видеть следующее сообщение об ошибке во время запросов к базе данных с критериями застройщиком:Изменение имени пакета Hibernate управляемых объектов
java.lang.IllegalArgumentException: Parameter value [[email protected]] did not match expected type [in.helpi.ironlegion.cerebro.db.hibernate.entity.UserEntity
Если изменить имя пакета обратно в .helpi.ironlegion.cerebro.db.hibernate.entity работает отлично.
Обновление Я могу правильно выбрать отдельные объекты. Но когда я отправляюсь на запросы объектов, ссылающихся на другой объект, я получаю эту ошибку. Например:
public class CommunityAccessEntity extends BaseEnity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
@ManyToOne
@JoinColumn(name = "UserEntity_id")
private UserEntity userEntity;
...
}
Если я запрашиваю его пользователем с использованием критериев строитель как:
query.select(root).where(criteriaBuilder.equal(root.get(CommunityAccessEntity_.userEntity), user)));
Я получаю вышеуказанную ошибку.
ли кто-то также сталкиваются с подобными проблемами ..
Да Я использую интерфейс Serializable. Но почему я могу правильно получить старые объекты из базы данных, и только когда я иду на запрос, это дает мне исключение типа несоответствия? Я использую установку на основе аннотаций, и мой файл сохранения имеет правильные имена пакетов для сущностей. – akshay202
@ akshay202, пожалуйста, проверьте свои файлы hbm, обновляется ли новый пакет во всех местах. – logztechstuff
У меня нет файлов hbm, я использую подход, основанный на аннотациях. – akshay202