Using compound primary keys via @IdClass causes an exception when calling persist:
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not insert: [de.methodpark.stages.model.UserAssignment]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1214)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1147)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1153)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:678)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:258)
Same code works when switching JPA provider to EclipseLink.
@Entity
@Table(name = "user_assignment")
@IdClass(value = UserAssignmentId.class)
public class UserAssignment implements Serializable {
@Id
private Long userId;
@Id
private Long elementId;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "element_id", referencedColumnName = "id")
private Element element;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "user_id", referencedColumnName = "id")
private User user;
}
public class UserAssignmentId implements Serializable {
public UserAssignmentId() { }
@Column(name = "user_id", insertable = false, updatable = false)
public Long userId;
@Column(name = "element_id", insertable = false, updatable = false)
public Long elementId;
}
Hibernate 3.6.0, MySql
Stack Trace
In an effort to clean up, in bulk, tickets that are most likely out of date, we're transitioning all ORM 3 tickets to an "Awaiting Test Case" state. Please see http://in.relation.to/Bloggers/HibernateORMJIRAPoliciesAndCleanUpTactics for more information.
If this is still a legitimate bug in ORM 4, please provide either a test case that reproduces it or enough detail (entities, mappings, snippets, etc.) to show that it still fails on 4. If nothing is received within 3 months or so, we'll be automatically closing them.
Thank you!
Bulk rejecting stale issues. If this is still a legitimate issue on ORM 4, feel free to comment and attach a test case. I'll address responses case-by-case. Thanks!