You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Corsin Capol <co...@snakedj.ch> on 2008/01/06 20:59:17 UTC

ADBException: Unexpected subelement - Inheritance

I have a problem with inheritance in my axis2 project. I have two
classes, employee and person. If I call the service getEmployee i get
the following error message.

Does somebody have an idea? It's possible to have inheritance in axis2?

--axisfault--
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException:
Unexpected subelement firstname
--

--person--
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
import javax.persistence.Entity;

@Entity
@Table(name = "\"tbl_Person\"")
@Inheritance(strategy = InheritanceType.JOINED)
public class Person
{
    @Id
    @GeneratedValue
    @Column(name = "fld_perId")
    private Long 	 personId;

    @Column(name = "fld_perFirstname")
    private String       firstname;

    @Column(name = "fld_perLastname")
    private String       lastname;

    @Column(name = "fld_perEmail")
    private String       mail;

    //@Column(name = "fld_perUserId")
    //private User 	 userId;	

    public String getFirstname()
    {
        return firstname;
    }
    public void setFirstname(String firstname)
    {
        this.firstname = firstname;
    }
    public String getLastname()
    {
        return lastname;
    }
    public void setLastname(String lastname)
    {
        this.lastname = lastname;
    }
    public String getMail()
    {
        return mail;
    }
    public void setMail(String email)
    {
        this.mail = email;
    }
    public Long getPersonId()
    {
        return personId;
    }
    public void setPersonId(Long personId)
    {
        this.personId = personId;
    }
}

--

--employee--
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;

@Entity
@Table(name = "\"tbl_Employee\"")
@PrimaryKeyJoinColumn(name = "fld_empId")
public class Employee extends Person
{

    @Column(name = "fld_empDepartment")
    private String department;

    @Column(name = "fld_empJob")
    private String job;

    private static SessionFactory sessionFactory;

    public static Employee[] getEmployee()
    {

	Transaction tx = null;
	sessionFactory = new
AnnotationConfiguration().configure().buildSessionFactory();
	Session session = sessionFactory.getCurrentSession();

	tx = session.beginTransaction();
	Query query = session.createQuery("SELECT emp " +
		                          "FROM Employee emp ");

	List empList =  query.list();	

	Employee[] emp = (Employee[]) empList.toArray(new Employee[empList.size()]);
	
	tx.commit();
	sessionFactory.close();

	return emp;
    }

    public String getDepartment()
    {
        return department;
    }

    public void setDepartment(String department)
    {
        this.department = department;
    }

    public String getJob()
    {
        return job;
    }

    public void setJob(String job)
    {
        this.job = job;
    }

}

--

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org