|
I ran into this issue in v4.3.9.Final. Based on the marked duplicate
HHH-9446
, my assumption is that the issue should have been already fixed in v4.3.9.Final, I downgraded to v4.3.5.Final and my issue below was not reproducible. I am using JDK 1.8.0_40, Glassfish v4.1
*Testcase:*
@MappedSuperclass
public abstract class AbstractIdEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
public AbstractIdEntity() {
super();
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
@Entity
public class User extends AbstractAppEntity {
....
}
Stack trace:
Caused by: javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of com.test.entity.User.id at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763) ~[hibernate-entitymanager-4.3.9.Final.jar:?] at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677) ~[hibernate-entitymanager-4.3.9.Final.jar:?] at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1683) ~[hibernate-entitymanager-4.3.9.Final.jar:?] at org.hibernate.jpa.spi.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:1187) ~[hibernate-entitymanager-4.3.9.Final.jar:?] at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:287) ~[container-common.jar:?] ... ...
Caused by: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of com.test.entity.User.id at org.hibernate.property.DirectPropertyAccessor$DirectGetter.get(DirectPropertyAccessor.java:60) ~[hibernate-core-4.3.9.Final.jar:?] at org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:346) ~[hibernate-core-4.3.9.Final.jar:?] at org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:4746) ~[hibernate-core-4.3.9.Final.jar:?] at org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:4465) ~[hibernate-core-4.3.9.Final.jar:?] at org.hibernate.engine.internal.ForeignKeys.isTransient(ForeignKeys.java:243) ~[hibernate-core-4.3.9.Final.jar:?]
|