EJB 3.0 PFD6 problems
aidan_b5 Apr 25, 2006 6:19 AMHi, I've just upgraded Jboss 4.03SP1 from EJB PFD 5 to 6....jboss starts ok except when it reaches one of my entity beans I get the following exception:
09:49:14,109 WARN [ServiceController] Problem starting service persistence.units:ear=SMSPortal.ear,unitName=objentity org.hibernate.MappingException: Could not determine type for: com.sms.object.entity.PersistentProperty, for columns: [org.hibernate.mapping.Column(elt)] at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266) at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253) at org.hibernate.mapping.Collection.validate(Collection.java:262) at org.hibernate.cfg.Configuration.validate(Configuration.java:992) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1173) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:505) at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:632) at org.hibernate.ejb.Ejb3Configuration.createContainerEntityManagerFactory(Ejb3Configuration.java:308) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:115) at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:264) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
The class apparently causing the problem:
@Entity
@Table (name="persistentproperty")
public class PersistentProperty {
@Id @GeneratedValue(strategy= GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@ManyToOne (cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
public PersistentKey getPersistentKey() {
return persistentkey;
}
public void setPersistentKey(PersistentKey persistentKey) {
this.persistentkey = persistentKey;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@ManyToOne (cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
public PersistentObject getPersistentObject(){
return persistentobject;
}
public void setPersistentObject(PersistentObject persistentobject) {
this.persistentobject = persistentobject;
}
public Date getStartdate() {
return startdate;
}
public void setStartdate(Date startdate) {
this.startdate = startdate;
}
public Date getEnddate() {
return enddate;
}
public void setEnddate(Date enddate) {
this.enddate = enddate;
}
@Transient
public String getStringstartdate()
{
try {
return DateUtils.getStringFromDate(startdate);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
@Transient
public String getStringenddate()
{
try {
return DateUtils.getStringFromDate(enddate);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
@Transient
public void setStringstartdate(String startdate) {
try {
this.startdate = DateUtils.getDateFromString(startdate);
} catch (Exception e) {
e.printStackTrace();
}
}
@Transient
public void setStringenddate(String enddate) {
if(!enddate.equals("")) try {
this.enddate = DateUtils.getDateFromString(enddate);
} catch (Exception e) {
e.printStackTrace();
}
else this.enddate = Calendar.getInstance().getTime();
}
private PersistentObject persistentobject;
private int id;
private PersistentKey persistentkey;
private String value;
private Date startdate;
private Date enddate;
public int getPrevious() {
return previous;
}
public void setPrevious(int previous) {
this.previous = previous;
}
public int getNext() {
return next;
}
public void setNext(int next) {
this.next = next;
}
private int previous;
private int next;
}Comparing the sizes of the Hibernate jars reveals a lot has been added....does anyone know what has changed as this code worked perfectly fine in version 5.
Is there some new annotation that I've missed?
Help Appreciated Thanks!