dbpe
V2EX  ›  Java

掉 Hibernate 的坑了

  •  
  •   dbpe · Jun 3, 2018 · 5072 views
    This topic created in 2921 days ago, the information mentioned may be changed or developed.
    现在我有俩个类

    Student 和 Teacher

    都是 ManyToMany 的,用 @JoinTable 做双向关联.

    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinTable(name = "PK_S_T", joinColumns = @JoinColumn(name = "teacher_id"),
    inverseJoinColumns = @JoinColumn(name = "stu_id"))
    Set xxset;


    保存的

    Teacher teacher = TeacherServer.get(cid);
    Student student = studentService.get(sid);
    teacher .getStudentList().add(student);
    session.update(teaching_class);



    中间表不插入数据...立马 session.get 能看到刚才插入的 student...

    Google 很久..没找到解决方法..求大佬..指教
    7 replies    2018-06-04 10:53:31 +08:00
    bnm965321
        1
    bnm965321  
       Jun 3, 2018
    session.update(teaching_class);

    这一句是将对象持久化到数据库的意思吗?是不是写错了,teaching_class 哪来的
    carakan
        2
    carakan  
       Jun 3, 2018 via Android
    @bnm965321 update 是持久化到数据库的,改了一些方法 save saveOrupdate 都试过了,不行,那个 teaching_class 是 teacher(复制出删减了一些代码)
    dbpe
        3
    dbpe  
    OP
       Jun 4, 2018
    问题解决...早上醒过来的时候..想了下..昨天查到的资料都是 sessionFactory.getCurrentSession 获取的..但是我现在为了 LAZY 的问题..用 OpenSessionInViewFilter 了..那么对应的应该是 sessionFactory.getOpenSession...那么对应的方案应该是 Opensession 的问题..
    dbpe
        4
    dbpe  
    OP
       Jun 4, 2018
    @bnm965321 谢谢大佬回复
    airfling
        5
    airfling  
       Jun 4, 2018 via Android
    可以使用 spring data jpa 底层就是 hibernate
    szq8014
        6
    szq8014  
       Jun 4, 2018
    commit 了没?
    iyangyuan
        7
    iyangyuan  
       Jun 4, 2018 via iPhone
    可怕
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1358 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 93c8b4a0 · 38ms · UTC 23:50 · PVG 07:50 · LAX 16:50 · JFK 19:50
    ♥ Do have faith in what you're doing.