Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.2.1, 1.3.0, 2.0.0-M2
-
None
-
None
-
Windows XP, Java SDK 1.6, Websphere 6.1 + openJPA 1.2.1
Description
In the following example, the @Version annotated field 'version' does have a wrong type (none of the supported ones).
@Entity
@Table(name = "PARTNER", schema = "PART")
public class Partner
{
@Id
@Column(name = "PART_KEY")
private BigDecimal partKey;
@OneToMany(mappedBy = "partner", fetch = FetchType.LAZY)
private List<PartnerRolle> rollen;
}
@Entity
@Table(name = "PARTNERROLLE")
public class PartnerRolle
{
@EmbeddedId
private PartnerRolleKey key;
@Version
@Column(name = "VERSION")
private BigDecimal version;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PART_KEY")
private Partner partner;
}
This does NOT lead to an error but silently omits the column in any query statements. The prepared statement (prepstmt) simply omitts the column. If the @Version is removed or a supported type like 'long' is used, the behaviour is correct.
Best regards,
Heiko