Ты каким-то образом создал табличку books без индекса первичного ключа.
В Hibernate есть опция работы со схемой. Либо ты сам руками правильно создаешь все объекты. Либо ты доверяешь это инициализации hibernate.
<prop key="hibernate.hbm2ddl.auto">create | validate | update ....</prop>