Hi,
I want to achieve the composite key on an entity as follows but getting error. PFA for stack trace. Values are inserting in system_user_table. When i gave the SystemUser as foreign-key reference in user table its not allowing me to save data. Please help.
*Entity SystemUser* public class SystemUser implements Serializable { private Long systemUserID; private String spaceKey; @Id @GeneratedValue(generator = "SystemUserGenerator") @GenericGenerator(name = "SystemUserGenerator", strategy = "org.hibernate.shards.id.ShardedTableHiLoGenerator") @Column(name = "system_user_id") public Long getSystemUserID() { return systemUserID; }
@Id @Column(name = "SPACE_KEY", insertable = false, updatable = false) public String getSpaceKey() { return spaceKey; }
....... ....... // hashcode and equals methods }
*Entity User* public class User implements Serializable { private Long id; private String spaceKey; private SystemUser systemUser;
@Id @GeneratedValue(generator = "UserGenerator") @GenericGenerator(name = "UserGenerator", strategy = "org.hibernate.shards.id.ShardedTableHiLoGenerator") @Column(name = "id") public Long getId() { return id; }
@ManyToOne(fetch = FetchType.LAZY) @JoinColumns({@JoinColumn(name = "SYSTEMUSER_ID", referencedColumnName = "system_user_id", columnDefinition = "bigint default 0"), @JoinColumn(name = "SPACE_KEY", referencedColumnName = "SPACE_KEY", insertable = false, updatable = false)}) public SystemUser getSystemUser() { return systemUser; }
@Id @Column(name = "SPACE_KEY", insertable = false, updatable = false) public String getSpaceKey() { return spaceKey; }
....... ....... // hashcode and equals methods } |
|