Я пробую учебники по спящему режиму с их основного сайта и хотел немного изменить ситуацию, чтобы знать, как много-много отношений работают с интерфейсом java.util.set. Мои отображения верны, и я могу вставить их в таблицы и из таблиц EVENT, PERSON и таблица сопоставлений PERSON_EVENT. Теперь я вставил несколько фиктивных значений в таблицы и добавил их сопоставления в таблицу сопоставлений. Я хотел отобразить все события всех людей, которые зарегистрированы в событии или более. с этим кодом:
public void ShowPersonEvents()
{
Person aperson;
Event anEvent;
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List<Person> persons = session.createQuery("from Person").list();
for(int i =0; i< persons.size(); i++)
{
aperson = (Person) persons.get(i);
Set a = aperson.getEvents();
// String[] events = (String[])a.toArray(new String[a.size()]);
// for (String e : events)
// {
// System.out.println(aperson.getLastname()+" is registerd to the" + e);
//
// }
Iterator it = a.iterator();
while(it.hasNext())
{
System.out.println(aperson.getLastname()+" is registerd to the" +(String) it.next().toString());
}
// System.out.println();
}
session.getTransaction().commit();
}
}
поэтому, когда я запускаю, это правильное количество строк, но вместо того, чтобы показывать, например, такие строки, как:
Джозеф зарегистрирован на турнире OpenSouce
это скорее показывает что-то вроде:
Джозеф зарегистрирован на домен.Event@18a8ce2
это формат mypackagename.myclassname@something.
когда я комментирую часть итератора и удаляем комментарий приведения к строковому массиву, у меня возникает исключение: arraystoreexception.
Я немного потерян. Я не вижу, что здесь не так. Пожалуйста, посмотрите, скажите, что я сделал не так? Спасибо за чтение.