[RESOLVIDO] javax.persistence.PersistenceException: org.hibernate.PropertyAccessException

Pessoal, estou aprendendo CDI e tive esse problema ao tentar persistir o objeto. Parece que está relacionado ao ID da entidade, não sei por que. É um projeto de teste simples com apenas uma classe que vem de um formulario na view:

 Severe:   javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of br.com.casadocodigo.loja.model.Book.id
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1683)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1187)
at br.com.casadocodigo.loja.managedbeans.AdminBooksBean.save(AdminBooksBean.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1"
            xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">

<persistence-unit name="casadocodigo-dev" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>jdbc/casadocodigoDS</jta-data-source>
    <properties>
        <property name="hibernate.hbm2ddl.auto" value="update"/>
        <property name="hibernate.show_sql" value="true"/>
        <property name="hibernate.format_sql" value="true"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
        <property name="hibernate.transaction.jta.platform" value="org.hibernate.engine.transaction.jta.platform.internal.SunOneJtaPlatform"/>            
    </properties>
</persistence-unit>

Bean

@Model
public class AdminBooksBean {

private Book book = new Book();
@PersistenceUnit(unitName = "casadocodigo-dev")
private EntityManagerFactory emf;        
@Resource
private UserTransaction utx;
        
public void save(){        
    try {
        EntityManager em = emf.createEntityManager();
        utx.begin();
        em.joinTransaction();
        em.persist(book); //exception  ocorre aqui
        utx.commit();
    }
    catch (Exception e) {
        e.printStackTrace();
    }        
}
public Book getBook() {
    return book;
}        

}

classe Book

@Entity
@Table(name = "Book")
public class Book implements Serializable {

@Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column
private Integer id;
@Column
private String title;
@Column
private String description;
@Column
private int numberOfPages;
@Column
private BigDecimal price;
//getters e setters
}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.casadocodigo</groupId>
<artifactId>casadocodigo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<build>
 <finalName>casadocodigo</finalName>
</build>
<properties>
  <failOnMissingWebXml>false</failOnMissingWebXml>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>
<dependencies>        
   <dependency>
     <groupId>javax</groupId>
     <artifactId>javaee-api</artifactId>
     <version>7.0</version>
     <scope>provided</scope>
   </dependency>
   <dependency>
     <groupId>org.hibernate</groupId>
     <artifactId>hibernate-core</artifactId>
     <version>4.3.11.Final</version>
  </dependency>
  <dependency>
     <groupId>org.hibernate</groupId>
     <artifactId>hibernate-entitymanager</artifactId>
     <version>4.3.11.Final</version>
  </dependency>
 </dependencies>  
</project>

container: glassFish 4.1

troquei a dependencia do hibernate de 4.3.11 para 4.3.5 e milagrosamente funcionou!