주 사이트에서 최대 절전 모드 자습서를 사용하고 있으며, java.util.set 인터페이스와 함께 얼마나 많은 관계가 작동하는지 알기 위해 약간 변경하고 싶습니다. 내 매핑은 정확하고 내가 삽입 할 수있는 테이블 EVENT, PERSON 및 매핑 테이블 PERSON_EVENT.Now 테이블에 더미 값을 삽입하고 매핑 테이블에 매핑을 추가했습니다. 모든 사람의 모든 이벤트를 표시하고 싶었습니다. 이벤트 또는 그 이상에 등록하십시오. 이 코드 : 그래서최대 절전 모드 및 Java.util.set 문제
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 이벤트
에 등록다음과 같이 표시됩니다.
요셉이 도메인에 등록되었습니다 [email protected]
이것은 [email protected] 형식입니다. 내가 iterator 부분에 주석을 달았을 때 ant는 문자열 배열에 캐스팅의 주석을 제거합니다. 예외가 있습니다 : arraystoreexception. 좀 잃어 버렸습니다. 여기서 뭐가 잘못 됐는지 보지 못했습니다. 제발 내가 뭘 잘못했는지 좀 보여 주시겠습니까? 독서에 감사드립니다.
감사를 보이는 나에게 그것은 보인다 하지만 그 toString 함수를 재정의 (override)하고 싶습니다. retun this.getTitle(); 또는 그것의 어떤 조합? –
예, 간단합니다 : public String toString() { return this.title; } – geofflane