1

Я столкнулся аа проблему с помощью zkoss с Hibernateродительская запись в спящем запросе

У меня есть две модели, одна JuvenileInfo другой SchoolMeasure

В SchoolMeasure я создал отношения ManyToOne

@Transient @ManyToOne @JoinColumn(name = "juvenile_id", nullable = false) public JuvenileInfo juvenile; 

Когда я получаю доступ

SessionFactory sessionFactory = new Конфигурация(). Configure() .buildSessionFactory();

Session session = sessionFactory.openSession(); session.beginTransaction(); List result1 = session.createQuery ("from ShoolBasedMeasure e внутреннее соединение e.juvenile") .list();

я получил ошибку в отношении несовершеннолетних не собственность, поэтому кто-то может помочь мне, как я получаю родительское представление записи списка, чтобы показать любому его столбец

ответ

1

ошибка вызвана тем, что вы используете @Transient аннотации. @Transient annotation следует использовать только для атрибутов с неперекрываемыми свойствами, что, вероятно, является вашей проблемой, просто потому, что Hibernate не может найти переходные атрибуты в базе данных.

В этом случае вы должны сделать одно из следующих решений:

  1. Если несовершеннолетний является постоянным атрибутом, то вы должны удалить @Transient аннотации его;
  2. Если несовершеннолетний НЕ является постоянным атрибутом, и вы используете его только для логики, которая нуждается в этом атрибуте, тогда вы должны удалить сопоставления @ManyToOne и @JoinColumn;

Основываясь на том, что вы описываете, первое решение, вероятно, будет работать, сообщите нам, разрешит ли он вашу проблему.

+0

Я пытаюсь удалить первое решение @Transient, но это не сработало для меня –

+1

Правильно ли отображаются таблицы базы данных в соответствии с вашими сущностями? Ошибка, которую вы получаете, вызвана неправильными сопоставлениями ваших объектов, пожалуйста, еще раз проверьте их правильность. – Bonifacio

+0

Да, я могу получить сейчас Спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^