| I have two simple joined entities and next exception when I try to get their property: Hibernate: select tarifklsk0_.ID as ID1_12_0_, tarifklsk0_.FK_TARIF as FK_TARIF2_12_0_, tarifservp1_.FK_TARIF as FK_TARIF2_11_1_, tarifservp1_.ID as ID1_11_1_, tarifservp1_.ID as ID1_11_2_, tarifservp1_.FK_TARIF as FK_TARIF2_11_2_, tarifservp1_.N1 as N3_11_2_ from TR.TARIFXKLSK tarifklsk0_ left outer join TR.TARIF_SERV_PROP tarifservp1_ on tarifklsk0_.FK_TARIF=tarifservp1_.FK_TARIF where tarifklsk0_.ID=? Jun 13, 2016 7:38:26 AM org.hibernate.event.internal.DefaultLoadEventListener doOnLoad INFO: HHH000327: Error performing load command : org.hibernate.property.access.spi.PropertyAccessException: Error accessing field [private java.lang.Integer TarifKlsk.fkTarif] by reflection for persistent property TarifKlsk#fkTarif : 1027303 Exception in thread "main" org.hibernate.property.access.spi.PropertyAccessException: Error accessing field [private java.lang.Integer TarifKlsk.fkTarif] by reflection for persistent property TarifKlsk#fkTarif : 1027303 at org.hibernate.property.access.spi.GetterFieldImpl.get(GetterFieldImpl.java:43) ....skipped... Caused by: java.lang.IllegalArgumentException: Can not set java.lang.Integer field TarifKlsk.fkTarif to java.lang.Integer at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) My entities: TarifKlsk import java.util.HashSet; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.Table; import org.hibernate.annotations.BatchSize; @SuppressWarnings("serial") @Entity @Table(name = "TARIFXKLSK", schema="TR") public class TarifKlsk implements java.io.Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID", updatable = false, nullable = false) private Integer id; @OneToMany(fetch = FetchType.EAGER) @JoinColumn(name="FK_TARIF", referencedColumnName="FK_TARIF") @BatchSize(size = 50) private Set<TarifServProp> tarifservprop = new HashSet<TarifServProp>(0); @Column(name = "FK_TARIF", updatable = false, nullable = false) private Integer fkTarif; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Set<TarifServProp> getTarifservprop() { return tarifservprop; } public void setTarifservprop(Set<TarifServProp> tarifservprop) { this.tarifservprop = tarifservprop; } public Integer getFkTarif() { return fkTarif; } public void setFkTarif(Integer fkTarif) { this.fkTarif = fkTarif; } } TarifServProp import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @SuppressWarnings("serial") @Entity @Table(name = "TARIF_SERV_PROP", schema="TR") public class TarifServProp implements java.io.Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID", updatable = false, nullable = false) private Integer id; @Column(name = "FK_TARIF", updatable = false, nullable = false) private Integer fkTarif; public Integer getId() { return id; } @Column(name = "N1", updatable = false, nullable = false) private Integer n1; public void setId(Integer id) { this.id = id; } public Integer getFkTarif() { return fkTarif; } public void setFkTarif(Integer fkTarif) { this.fkTarif = fkTarif; } public Integer getN1() { return n1; } public void setN1(Integer n1) { this.n1 = n1; } } My test module: public static void main(String[] args) { SessionFactory sf = HibernateUtil.getSessionFactory(); Session sess = sf.openSession(); sess.beginTransaction(); TarifKlsk k2=sess.get(TarifKlsk.class, 1027303); for (TarifServProp t : k2.getTarifservprop()) { System.out.println("Tar="+t.getN1()); } System.out.println("End init"); What am I doing wrong? I've checked all fields of these entities and all of them named properly.... My POM.xml <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>com.journaldev.hibernate</groupId> <artifactId>HibernateEHCacheExample</artifactId> <version>0.0.1-SNAPSHOT</version> <description>Hibernate Secondary Level Cache Example using EHCache implementation</description> <dependencies> <!-- Hibernate Core API --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.1.0.Final</version> </dependency> <!-- EHCache Core APIs --> <!-- http://mvnrepository.com/artifact/net.sf.ehcache/ehcache-core --> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> <version>2.6.11</version> </dependency> <!-- http://mvnrepository.com/artifact/org.hibernate/hibernate-ehcache --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> <version>5.2.0.Final</version> </dependency> <!-- EHCache uses slf4j for logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.5</version> </dependency> </dependencies> |