0

I have user object is as follow:

public class User implements Serializable{

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;

@Column(name="emailId")
private String emailId;

@Column(name="userName")
private String userName;

@Column(name="address")
private String address;

@Column(name="mobNo")
private BigDecimal mobNo;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "deptId")
private Department department;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "desgId")
private Designation designation;

@Column(name="grpId")
private int grpId ;

@Column(name="userLevel")
private int userLevel ;

@Column(name="upw1")
private String upw1 ;

@Column(name="upw2")
private String upw2 ;

@Column(name="upw3")
private String upw3 ;

@Column(name="createdBy")
private String createdBy ;

@Column(name="creationDate")
private Timestamp creationDate;

@Column(name="loginStatus")
private String loginStatus;

@Column(name="hintId")
private int hintId ;

@Column(name="hintAns")
private String hintAns ;

@Column(name="otp")
private String otp ;

and metghod is

public List<User> getUsers(){
    Query query=sessionFactory.getCurrentSession()
            .createQuery("select u.userName, u.mobNo, u.department.deptnm, u.designation.desgnm, "
                    + "u.loginStatus from User u");
    List<User> list=(List<User>)query.list();
    return list;

}

I got classCastException

java.lang.ClassCastException: java.base/[Ljava.lang.Object; cannot be cast to com.common.models.User

can anybody suggest me what i did wrong? Thanks in advance

0

1 Answer 1

1

Your query for a set of different fields, so each row in your result list will be a Java array of Objects (Object[]).

You want to query for a single object: select u from User u.

(and you leave the job of guessing all the fields to select and joins to make to Hibernate).

Sign up to request clarification or add additional context in comments.

2 Comments

Yeah, Hibernate select all the field from User as well department and designation.Now i want get deptname and designame to display on jsp page. How can i do this?
Its working for that on jsp page i write (<td><c:out value="${userList.department.deptnm}"/></td> <td><c:out value="${userList.designation.desgnm}"/></td>)...Thank you @fdreger

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.