java.lang.ClassCastException:[Ljava.lang.Object;无法施展

时间:2014-02-20 12:19:00

标签: java hibernate jsp arraylist mapping

这里我有两个表没有映射到彼此....当我写一个查询从两个表中获取记录时,它显示如控制台中所示的以下输出。 但是如何根据两个表的日期按降序打印jsp页面内的列表????

错误:

SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.bdisys.promorphics.domain.Blog
    at com.bdisys.promorphics.dao.impl.BlogDaoImpl.getTopBlogsQuesByDate(BlogDaoImpl.java:147)
    at org.apache.jsp.Mydetails_jsp._jspService(Mydetails_jsp.java:937)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)

blogs are====[[Ljava.lang.Object;@55de08, [Ljava.lang.Object;@163f5f5, [Ljava.lang.Object;@1a8c542, [Ljava.lang.Object;@12e99f0, [Ljava.lang.Object;@7c6b8e, [Ljava.lang.Object;@794e73, [Ljava.lang.Object;@d6e9f, [Ljava.lang.Object;@1d9b9fd, [Ljava.lang.Object;@1419a32, [Ljava.lang.Object;@1f280a7, [Ljava.lang.Object;@1dc8c55, [Ljava.lang.Object;@81475b, [Ljava.lang.Object;@173e739, [Ljava.lang.Object;@51550e, [Ljava.lang.Object;@1a73e9c, [Ljava.lang.Object;@ffa7e7, [Ljava.lang.Object;@68531b, [Ljava.lang.Object;@1282f92, [Ljava.lang.Object;@14b261e, [Ljava.lang.Object;@b3a43d]

这是我的Daoimpl方法,我正在编写一个查询:我在很多方面尝试过但它显示错误b !!任何人都可以告诉确切的解决方案吗???

    @SuppressWarnings("unchecked")
        public List<Blog> getTopBlogsQuesByDate()throws Exception {

                   String sql = "SELECT title , date FROM (SELECT blog_title as title ,created_date as date FROM  blog  UNION SELECT ask_question as title , created_on as date FROM askquestions ) as aa ORDER BY date DESC";
                    List<Blog> blogs1 = getSession().createSQLQuery(sql).setResultTransformer(AliasToBeanResultTransformer).list(); 
                    System.out.println("blogs are===="+blogs1);


 return blogs1;    

 } 

Blog.java:

package com.bdisys.promorphics.domain;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@SuppressWarnings("serial")
@Entity
@Table(name="blog")
public class Blog extends BaseDomain {

 @Column(name="blog_title")
 private String blogTitle;

 @Column(name="blog_text",columnDefinition="TEXT")
 private String blogText;

 @Enumerated(EnumType.STRING)
 @Column(name="blog_status")
 private Status blogStatus; 

 @OneToOne
 @JoinColumn(name="created_by", nullable=false)
 private User createdBy;

 @OneToOne
 @JoinColumn(name="blog_category", nullable=false)
 private BlogCategory blogCategory;

 @Temporal(TemporalType.DATE)
 @Column(name="created_date")
 private Date createdDate; 

 @Column(name="likes")
 private Long likes;

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

 @Column(name="youtube_link")
 private String youTubeLik;

 @Column(name="moderator_comment")
 private String moderatorComment;

 @Lob
 @Column(name="blog_description")
private String blog_desc;

 @ManyToOne
    @JoinColumn(name="users")
    private User users;



public User getUsers() {
    return users;
}

public void setUsers(User users) {
    this.users = users;
}

public String getBlog_desc() {
    return blog_desc;
}

public void setBlog_desc(String blog_desc) {
    this.blog_desc = blog_desc;
}

public String getBlogTitle() {
    return blogTitle;
}

public void setBlogTitle(String blogTitle) {
    this.blogTitle = blogTitle;
}

public String getBlogText() {
    return blogText;
}

public void setBlogText(String blogText) {
    this.blogText = blogText;
}

public Status getBlogStatus() {
    return blogStatus;
}

public void setBlogStatus(Status blogStatus) {
    this.blogStatus = blogStatus;
}

public User getCreatedBy() {
    return createdBy;
}

public void setCreatedBy(User createdBy) {
    this.createdBy = createdBy;
}

public BlogCategory getBlogCategory() {
    return blogCategory;
}

public void setBlogCategory(BlogCategory blogCategory) {
    this.blogCategory = blogCategory;
}

public Date getCreatedDate() {
    return createdDate;
}

public void setCreatedDate(Date createdDate) {
    this.createdDate = createdDate;
}

public Long getLikes() {
    return likes;
}

public void setLikes(Long likes) {
    this.likes = likes;
}

public String getUploads() {
    return uploads;
}

public void setUploads(String uploads) {
    this.uploads = uploads;
}

public String getYouTubeLik() {
    return youTubeLik;
}

public void setYouTubeLik(String youTubeLik) {
    this.youTubeLik = youTubeLik;
}

public String getModeratorComment() {
    return moderatorComment;
}

public void setModeratorComment(String moderatorComment) {
    this.moderatorComment = moderatorComment;
}



}

Askquestions.java:

package com.bdisys.promorphics.domain;

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

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.IndexColumn;

@SuppressWarnings("serial")
@Entity
@Table(name="askquestions")
public class Askquestions extends BaseDomain {  

    @Column(length = 100, name = "id_subscribers")
    private String idSubscribers;

    @Column(length = 100, name = "is_anonymous")
    private String isAnonymous;

    @Column(length = 100, name = "display_name")
    private String displayName;

    @Temporal(TemporalType.DATE)
    @Column(length = 100, name = "created_on")
    private Date createdQuesOn;

    @Lob
    @Column(name = "ask_question")
    private String askQuestion;

    @Column(length = 100, name = "ask_to_whom")
    private String askToWhom;

    @Lob
    @Column(name="question_of_day")
    private String questionOfDay;

    @ManyToOne
     @JoinColumn(name="ask_category")
     private Askcategory askcategory;

     @ManyToOne
        @JoinColumn(name="users")
        private User users;

    public User getUsers() {
        return users;
    }

    public void setUsers(User users) {
        this.users = users;
    }


    public Askcategory getAskcategory() {
        return askcategory;
    }

    public void setAskcategory(Askcategory askcategory) {
        this.askcategory = askcategory;
    }

    public String getQuestionOfDay() {
            return questionOfDay;
        }

        public void setQuestionOfDay(String questionOfDay) {
            this.questionOfDay = questionOfDay;
        }

    public String getIdSubscribers() {
        return idSubscribers;
    }

    public void setIdSubscribers(String idSubscribers) {
        this.idSubscribers = idSubscribers;
    }

    public String getIsAnonymous() {
        return isAnonymous;
    }

    public void setIsAnonymous(String isAnonymous) {
        this.isAnonymous = isAnonymous;
    }

    public String getDisplayName() {
        return displayName;
    }

    public void setDisplayName(String displayName) {
        this.displayName = displayName;
    }

    public String getAskQuestion() {
        return askQuestion;
    }

    public void setAskQuestion(String askQuestion) {
        this.askQuestion = askQuestion;
    }

    public String getAskToWhom() {
        return askToWhom;
    }

    public void setAskToWhom(String askToWhom) {
        this.askToWhom = askToWhom;
    }

    public Date getCreatedQuesOn() {
        return createdQuesOn;
    }

    public void setCreatedQuesOn(Date createdQuesOn) {
        this.createdQuesOn = createdQuesOn;
    }





}

JSP页面:

 <tr>
                    <td style="border: 2px dotted #FFFFFF; border-radius:5px; background-color:#f3ecf0;">
              <% 
                          List<Blog> blog2 =new ArrayList<Blog>();
                          BlogDaoImpl blogDaoImpl1=new BlogDaoImpl();
                          blog2=blogDaoImpl1.getTopBlogsQuesByDate();
                          System.out.println(" Details of blogs are==="+blog2);

                         // Create two query strings for two sub HQLs



                    %>


                         <ul style="text-align: left; left:0px;font-size: 13px; margin-left:-20px; overflow-y: scroll; height:465px;  list-style:url('images/arrows.png');  font-family:Palatino Linotype; color:#2a2a2a; border: 0px solid #d4d4d4" >

                            <% 
           for(int i=0;i<blog2.size();i++){

               Blog blogs1=new Blog();
               blogs1=blog2.get(i);
               System.out.println("blogs size is===="+blog2.size()); 

                blogs1.getId();
                String paths="showblog/"+ blogs1.getBlogTitle()+"/"+blogs1.getId();
         %>

                               <li style="border-bottom : 2px dotted #FFFFFF; margin-bottom: 10px;"><%=blogs1.getBlogTitle() %></li>

         <%} %>           


                         </ul>
                    </td>
                </tr>

0 个答案:

没有答案