Sorry if I ask a question that's been answered before. My googling skills were not sufficient to find it.
If class is of type @Embeddable the wrong data type is generated in database.
Example
@Entity
@Table(name = "MY_ENTITIES")
public class MyEntity {
@Id
@GeneratedValue
@Column(name = "ENT_ID")
private Integer myId;
@ElementCollection
@CollectionTable(name = "MY_EMBEDDED", joinColumns = @JoinColumn(name = "BED_ENT_ID"))
private List<MyEmbedded> myEmbeddedList;
@Column(name = "ENT_DATE_VALUE")
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date myDateValue;
}
works fine, ENT_DATA_VALUE is type DATETIME
CREATE TABLE MY_ENTITIES (
ENT_ID INTEGER NOT NULL,
ENT_DATE_VALUE DATETIME,
PRIMARY KEY (ENT_ID)
);
while this
@Embeddable
public class MyEmbedded {
@Column(name = "EMB_NAME")
private String myName;
@Column(name = "EMB_DATE_VALUE")
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date myDateValue;
}
uses VARCHAR2 for EMB_DATA_VALUE
CREATE TABLE MY_EMBEDDED (
EMB_DATE_VALUE VARCHAR(255),
EMB_NAME VARCHAR(255),
BED_ENT_ID INTEGER
);
Is this something I have overlooked or just a bug in EclipseLink?
------------------
Eclipse: Juno Service Release 2
javax.persistence: 2.0.4
org.eclipse.persistence.core: 2.4.0
org.eclipse.persistence.jpa: 2.4.0