Не трябва да задаваме съпоставяния във файла cfg.xml. Трябва да се направи или чрез пояснения, или чрез XML. За пояснения:Предоставеният от вас файл cfg.xml изглежда добре, ако използваме анотациите, за да посочим съпоставяния на база данни с класове на обекти.
За да използвате XML начин за съпоставяне между обекти и таблици, трябва да се създаде файл hbm.xml и в този случай Замени
<mapping class ="models.Category" />
с нещо като
<mapping resource="models/Book.hbm.xml></mapping>
и hbm.xml файлът съдържа необходимото съпоставяне, както следва.например:
<hibernate-mapping>
<class name="models.Book" table="Book" catalog="your database name">
<id name="bookId" type="java.lang.Integer">
<column name="BOOKID" />
<generator class="identity" />
</id>
<property name="authorName" type="string">
<column name="AUTHOR_NAME" length="10" not-null="true" unique="true" />
</property>
</class>//all the database mappings
</hibernate-mapping>
Съжалявам, ако разбирам въпроса ви погрешно.