I found the problem: turns out JBoss doesn't like the / character in JNDI names. Changing 'jdbc/BookDB' in persistence.xml into 'java:BookDB' and creating a datasource with the name 'BookDB' solves the problem.
I have the same problem.
In my case this meant that there is some problem to the persistence.xml
4 example: my