mysql - 如何将表格转换为列表

标签 mysql spring hibernate spring-mvc spring-annotations

我正在使用 Spring mvc 和 hibernate。我想放置 WHERE 条件并获得特定结果,然后我想转换为 LIst ,我就是这样做的..但是给出了错误..

请简单告诉我们是否有人想要将任何表格转换为列表。我们是否应该更改模型

这是型号**

package pearson.dashboard.model;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Entity
public class Meetings {
    @Id
    @Column
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int meetingID;
    @Column
    private Date sheduleTime;
    @Column
    private String meetingHeading;
    @Column 
    private String comment;
    @Column
    private String roomName;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "meetingTypeID") 
    private MeetingTypes meetingTypes;



    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "releaseID") 
    private Releases releases;


    public Releases getReleases() {
        return releases;
    }

    public void setReleases(Releases releases) {
        this.releases = releases;
    }



    public MeetingTypes getMeetingTypes() {
        return meetingTypes;
    }

    public void setMeetingTypes(MeetingTypes meetingTypes) {
        this.meetingTypes = meetingTypes;
    }

    public Meetings() {

        // TODO Auto-generated constructor stub
    }

    public Meetings(int meetingID, Date sheduleTime, String meetingHeading,
            String comment, String roomName) {
        super();
        this.meetingID = meetingID;
        this.sheduleTime = sheduleTime;
        this.meetingHeading = meetingHeading;
        this.comment = comment;
        this.roomName = roomName;

    }

    public int getMeetingID() {
        return meetingID;
    }

    public void setMeetingID(int meetingID) {
        this.meetingID = meetingID;
    }

    public Date getSheduleTime() {
        return sheduleTime;
    }

    public void setSheduleTime(Date sheduleTime) {
        this.sheduleTime = sheduleTime;
    }

    public String getMeetingHeading() {
        return meetingHeading;
    }

    public void setMeetingHeading(String meetingHeading) {
        this.meetingHeading = meetingHeading;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getRoomName() {
        return roomName;
    }

    public void setRoomName(String roomName) {
        this.roomName = roomName;
    }




}

道**

@Transactional
@Repository
public class MeetingTypeDaoImpl implements MeetingTypeDao  {
    @Autowired
    private SessionFactory sessionFactory;


    public List getAllMeetingTypes(int releaseID) {
        // TODO Auto-generated method stub
        Query query = sessionFactory.getCurrentSession().createQuery("from Meetings where releaseID = :releaseID");
        query.setParameter("releaseID", releaseID);
        List list = query.list();       
         if(list!=null && list.size()>0){
            return (List) list.get(0);//when i remove castin it give error that why i casted
        }else{
        return null;
        }



    }

}

Erro 的一部分***

Dec 04, 2013 2:19:53 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [appServlet] in context with path [/controller] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: pearson.dashboard.model.Meetings cannot be cast to java.util.List] with root cause
java.lang.ClassCastException: pearson.dashboard.model.Meetings cannot be cast to java.util.List
    at pearson.dashboard.dao.impl.MeetingTypeDaoImpl.getAllMeetingTypes(MeetingTypeDaoImpl.java:26)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

最佳答案

您可能需要通过强制转换来更改类型,

List<Meetings> list = (List<Meetings>)query.list();

您的返回对象“return (List) list.get(0)”是错误的,因为您的列表包含 session 对象列表。因此,它将返回 (Meetings) list.get(0)。

关于mysql - 如何将表格转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20371156/

相关文章:

php mysql 时间戳

mysql - 在哪里存储用户访问过的页面?

java - 在 spring data JPA 中更新和返回数据

java - 关闭sessionFactory将数据保存到HSQL

java - hibernate 。删除对象

php - Laravel 出现错误 undefined variable

具有负值的mysql直方图

无需使用 byte[] 即可立即从流中提取 Java zip 文件

jquery - 在spring中使用jquery表单发布到DB

java - Spring - 我的 Autowiring 有什么问题?