0 0

hibernate多对多报错0

5个表,关系如下:

我在实体类SurveyQuestion设置如下:
private Set<User> users= new HashSet<User>();

@ManyToMany
	@JoinTable(name="answersheet",
		joinColumns=@JoinColumn(name="surQue_id", referencedColumnName="sq_id"),
		inverseJoinColumns=@JoinColumn(name="user_id", referencedColumnName="u_id")
		)
	public Set<User> getUsers() {
		return users;
	}

在实体类AnsweSheet设置如下:
@Table(name="answersheet")
public class AnswerSheet {
private int as_id;//问卷ID
private User user;//提交答案用户,外键
private SurveyQuestion surque;//问卷题库关联表,外键


@ManyToOne
@JoinColumn(name="user_id")
public User getUser() {
	return user;
}
public void setUser(User user) {
	this.user = user;
}
@ManyToOne
@JoinColumn(name="surQue_id")
public SurveyQuestion getSurque() {
	return surque;
}

结果报错:
严重: Servlet.service() for servlet jsp threw exception
org.hibernate.MappingException: Foreign key (FKEE834461D63EFD3A:answersheet [surQue_id])) must have same number of columns as the referenced primary key (sur_que [survey_id,question_id])
	at org.hibernate.mapping.ForeignKey.alignColumns(ForeignKey.java:113)
	at org.hibernate.mapping.ForeignKey.alignColumns(ForeignKey.java:96)
	at org.hibernate.cfg.Configuration.secondPassCompileForeignKeys(Configuration.java:1310)
	at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1217)
	at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:329)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1333)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
	at com.util.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:21)
	at com.daoImpl.RoleDaoImpl.<init>(RoleDaoImpl.java:16)
	at org.apache.jsp.Login_jsp._jspService(Login_jsp.java:124)
	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:388)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	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 com.util.ChinaFilter.doFilter(ChinaFilter.java:16)
	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:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	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.Http11AprProcessor.process(Http11AprProcessor.java:879)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:600)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1703)
	at java.lang.Thread.run(Thread.java:619)
2013年8月23日 18:21
  • 大小: 7.3 KB
目前还没有答案

相关推荐

    hibernate注入的三种方式

    直接注入`SessionFactory`实例则提供了更高的定制化能力,适合对Hibernate有深入理解或特定需求的项目。最后,在`applicationContext.xml`中配置DAO并注入`SessionFactory`,适合于需要全局控制Bean配置的大型项目。...

    启动tomcat报错org.hibernate.cache.CacheProvider

    标题中的“启动tomcat报错org.hibernate.cache.CacheProvider”指的是在尝试启动Apache Tomcat服务器时遇到了与Hibernate缓存提供者相关的错误。这通常涉及到Hibernate框架的配置或运行时环境问题。Hibernate是一个...

    hibernate关联映射详解SSH 多对多,一对多关系对象映射

    本篇文章将深入探讨Hibernate中的一对多和多对多关系映射。 首先,让我们理解一对多关联映射。在数据库中,一对多关系意味着一个表中的记录可以与另一个表中的多个记录相关联。在Hibernate中,这可以通过在实体类中...

    spring boot整合mybatis-plus启动报错问题及解答.pdf

    在整合Spring Boot与MyBatis-Plus的过程中,可能会遇到启动应用时报错的问题。错误信息通常类似于"Error starting ApplicationContext",并提示"UnsatisfiedDependencyException",这表明Spring框架在初始化bean时...

    用hibernate连接mycat的例子

    由于Mycat会处理SQL的路由和分片,所以开发者可以直接对实体类进行操作,无需关心底层的数据分片细节。 在测试或运行项目时,确保Mycat服务已经启动,并且可以通过JDBC连接成功。可以通过日志观察Mycat是否正确地...

    解决SpringDataJPA报错:org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null w

    问题描述 用SpringBoot + Spring Data JPA操作数据库 项目启动的时候 报了一个错 SpringBoot的版本是2.2.6.RELEASE org.springframework.beans.factory.BeanCreationException: Error creating bean with name '...

    Hibernate ORM - 一对一主键关联关系

    在Hibernate中,一对一的主键关联关系可以通过以下几种方式配置: 1. **注解配置**: 使用`@OneToOne`注解来声明一对一关系,同时通过`@PrimaryKeyJoinColumn`注解指定共享的主键列。例如: ```java @Entity ...

    hibernate-distribution-3.3.2.GA-dist

    7. **关联映射**:支持一对一、一对多、多对一和多对多等各种关联关系的映射,使得对象间的关联关系能够自然地反映到数据库中。 8. **延迟加载**:Hibernate的懒加载策略能有效减少数据库交互,只有在真正需要时才...

    weblogic10.3 org.hibernate.hql.ast.HqlToken报错问题

    总之,解决“weblogic10.3 org.hibernate.hql.ast.HqlToken报错”问题需要对Hibernate和WebLogic有深入的理解,以及对HQL语法的熟练掌握。通过逐步排查和测试,通常能找到问题的根源并成功解决。同时,保持软件更新...

    关于在Hibernate中对于Clob,Blob字段的处理方法

    例如,Oracle的ojdbc驱动程序提供了对Clob和Blob的高效操作。你可以通过以下方式配置Hibernate的JDBC连接: ```xml &lt;hibernate-configuration&gt; ... &lt;property name="connection.driver_class"&gt;oracle.jdbc....

    Hibernate错误及解决办法集合

    但是,当显式定义了一个或多个构造函数后,编译器将不再提供默认的无参构造函数。因此,在Hibernate中,如果实体类只定义了带参数的构造函数而没有定义无参构造函数,就可能会出现此错误。 **解决方案**: 1. **...

    WEB开发报错处理集锦

    本资源摘要信息主要总结了WEB开发中常见的报错处理方法,涵盖了Hibernate、JSP、Struts等多个软件开发中的错误处理技巧。这些知识点对于初学者和初级开发者来说非常有价值,可以帮助他们在开发中快速解决问题。 1. ...

    自动生成hibernate映射文件和实体类

    "自动生成 Hibernate 映射文件和实体类" 自动生成 Hibernate 映射文件和实体类是使用 MyEclipse 工具来实现的,这可以大大提高开发效率,减少开发时间。下面将详细介绍如何使用 MyEclipse 自动生成 Hibernate 映射...

    HIbernate4.3.6-c3p0所需jar.rar

    tomcat报错如下,需更换c3p0包 org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider] at org.hibernate.service....

    hibernate保存不到数据1

    标题中的"hibernate保存不到数据1"是一个关于Hibernate框架在尝试保存数据到数据库时遇到问题的场景。描述提到了一个具体的解决方案,即通过在`hibernate.cfg.xml`配置文件中设置`connection.autocommit`属性为`true...

    完美解决SpringDataJPA报错create table hibernate_sequence (next_val bigint) type=MyISAM Hibernate: create t

    2020-04-09 12:52:29.990 INFO 14120 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQLInnoDBDialect Hibernate: create table hibernate_sequence ...

    Spring hibernate SpringMVC整合对数据库操作

    由于spring3.x,基于asm的某些特征,而这些asm还没有用jdk8编译,所以采用Spring 3+JDK8就会报错,提示错误信息( java.lang.IllegalArgumentException),具体解决方案有:1、Spring 3+JDK7及以下版本 2、Spring 4+JDK8...

    关于Hibernate3中文查询出错问题的解决

    在使用Hibernate3进行数据库操作时,中文查询出错是一个常见的问题,这主要涉及到字符编码、数据库配置以及Hibernate的设置等多个方面。以下将详细介绍如何解决这个问题。 首先,我们要明白错误的根源通常在于字符...

    使用Struts + Spring + Hibernate完成分页笔记

    在这个过程中,Eclipse作为开发环境,提供对Spring和Hibernate的支持,帮助开发者更便捷地进行项目配置和调试。理解并熟练掌握SSH框架的分页实现,对于提升Java EE应用的开发能力具有重要意义。

    (hibernate调用C3p0)hibernate.cfg.xml

    (hibernate调用C3p0)hibernate.cfg.xml

Global site tag (gtag.js) - Google Analytics