【问题标题】:Get data from two tables and insert in one table through HQL通过HQL从两个表中获取数据并插入到一个表中
【发布时间】:2014-10-04 11:49:44
【问题描述】:

我有两个实体类Student.javaCourse.java,它们之间有many to many 关系我想通过hql 在它们的@JoinTable 中添加一个条目,如下所示:

insert into student_course(student_id,course_id) values('" + courseId + "','" + studentId + "')". 

我想使用 hql 而不是 sql。有什么想法吗?

【问题讨论】:

    标签: java mysql hibernate hql criteria


    【解决方案1】:

    你可以试试这样的解决方案

     insert into student_course(student_id,course_id)
     select c.student_id,c.course_id from Student s join s.Course c 
    

    【讨论】:

    • 我用这个作为最终查询 query = getDatabaseSession() .createQuery("insert into student_course(student_id,course_id) select c.student_id,c.course_id from Student s join s.Course c); 查询.setParameter(0, student_id); query.setParameter(1, course_id); final int result = query.executeUpdate(); 但我得到了异常。
    • org.springframework.orm.hibernate4.HibernateQueryException: student_course 未映射 [插入 student_course(student_id,course_id) select c.student_id,c.course_id from Student s join Course c];嵌套异常是 org.hibernate.hql.internal.ast.QuerySyntaxException:
    • 任何科?为什么我会得到这个?
    • 您是否包含了 student_course pojo 及其映射文件。
    • 如何为 mappin 表制作 pojo ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多