2014-04-03 3 views
0

Я работаю над Hibernate, где у меня есть две таблицы, как Country и CityКак получить записи дочерних таблиц из родителя в спящий режим?

Страна:

Id int(20) NOT NULL, CountryName int(30) NOT NULL, PRIMARY KEY (Id)

Город:

CId int(20) NOT NULL, CityName varchar(30) NOT NULL, State varchar(30) NOT NULL, ADD CONSTRAINT чид FOREIGN KEY ( Страна ) REFERENCES ID ( Id );

  • Средства City Многие-к-одному отображенной с Country

Теперь мне нужно получить доступ к City детали из Country

  • Я создал уже 'Country.hbm.xml'
  • Я уже создал «City.hbm.xml»

Запрос:

select a.countryName,a.cities.cityName,a.cities.state from Country as a

Результат запроса

org.hibernate.QueryException: illegal attempt to dereference colection[country0_.Id.cities] with element property reference[cityName][select a.countryName,a.cities.cityName,a.cities.state from Country as a]

Я не знаю, почему он показывает это исключение ..., если кто-нибудь знает, это будет большое удовольствие для меня .. !!

Примечание: Я извлечения ребенка детали из родителей

ответ

0

В вашей стране лица определяют отображение @OneToMany для города, как это. Одна страна может иметь много городов.

@OneToMany(targetEntity = City.class, cascade = { CascadeType.ALL }) 
private List<City> cites; 

Затем, как только вы загрузите страну, просто позвоните в страну country.getGities(), которая вернет весь город этой страны.

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