Hibernate 关于注解的错误,请教下
[code=Java][/code]ERROR [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ContextLoader.initWebApplicationContext(220) | Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0' defined in class path resource [spring/applicationContext-dao.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [F:\webserver\apache-tomcat-6.0.32\webapps\blognms\WEB-INF\classes\spring\applicationContext-dao.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException:
问题重点:
Foreign key (FKAECBABBE3114B171:ibokee_report_comment [post])) must have same number of columns as the referenced primary key (ibokee_wb_postcomment [postID,postComments_id])
@Entity@Table(name = "ibokee_report_comment")@Searchable@XmlRootElementpublic class ReportComment implements Serializable { private static final long serialVersionUID = 1L; private Long id; /** 日志评论 */ private ArticleComment article; /** 照片评论 */ private PhotoComment photo; /** 微博评论 */ private PostComment post; @Id @GeneratedValue(strategy = GenerationType.AUTO) @SearchableId public Long getId() { return id; } public void setId(Long id) { this.id = id; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "article") public ArticleComment getArticle() { return article; } public void setArticle(ArticleComment article) { this.article = article; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "photo") public PhotoComment getPhoto() { return photo; } public void setPhoto(PhotoComment photo) { this.photo = photo; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "post") public PostComment getPost() { return post; } public void setPost(PostComment post) { this.post = post; }}@Entity@Table(name = "ibokee_wb_postcomment")@Searchable@XmlRootElementpublic class PostComment implements Serializable { private static final long serialVersionUID = 1L; private Integer id; private Post post; private User user; private String content; private Date createTime; private Boolean del = Boolean.FALSE; /** 评论回复 */ private PostComment parent; public PostComment() { } @Id @GeneratedValue(strategy = GenerationType.AUTO) @SearchableId public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "post") public Post getPost() { return post; } public void setPost(Post post) { this.post = post; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "user") public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Column public String getContent() { return content; } public void setContent(String content) { this.content = content; } @Column public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } @Column public Boolean getDel() { return del; } public void setDel(Boolean del) { this.del = del; } @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "parent") public PostComment getParent() { return parent; } public void setParent(PostComment parent) { this.parent = parent; }}