My classes look like this. Why is the same column selected 4 times? What is a display issue?
@Entity @Table(name="CLIENTS") public class Client implements Serializable { @Id @GeneratedValue @Column(name="GENERATED_ID") private Long id; @Column(name="NAME") private String name; @OneToMany(cascade=CascadeType.ALL, mappedBy="client", fetch=FetchType.EAGER) private Map<ParamPK, Param> params = new HashMap<ParamPK, Param>(); } @Entity @Table(name="PARAMS") public class Param implements Serializable { @EmbeddedId private ParamPK paramPK; @Column(name="VALUE") private String value; @ManyToOne @MapsId("clientId") private Client client; } @Embeddable public class ParamPK implements Serializable { @Column(name="PARAM_KEY") private String key; @Column(name="CLIENT_GENERATED_ID") private Long clientId; }
Queries generated by select receive the same column 4 times.
select client0_.GENERATED_ID as GENERATED1_1_, client0_.NAME as NAME1_ from CLIENTS client0_ select params0_.client_GENERATED_ID as client3_1_1_, params0_.client_GENERATED_ID as client3_1_, params0_.PARAM_KEY as PARAM1_1_, params0_.CLIENT_GENERATED_ID as CLIENT3_1_, params0_.client_GENERATED_ID as client3_0_0_, params0_.PARAM_KEY as PARAM1_0_0_, params0_.VALUE as VALUE0_0_ from PARAMS params0_ where params0_.client_GENERATED_ID=?
Note using Hibernate 3.5.3. The security template code was deleted as non-essential.
source share