3

私のHibernatePojoクラスでは、このように使用しています。

@Entity
@Table(name="EC_TIMETABLE")
public class TimetableVO{
@ManyToOne
@JoinColumn(name="SKILLSET_ID", insertable=false, updatable=false)
private SkillsetVO skillset;
...
...
}

と別の豆

@Entity
@Table(name="EC_SKILLSET")
public class SkillsetVO{

    @ManyToOne
    @JoinColumn(name="USER_ID", insertable=false, updatable=false)
    private UserVO user;

    @ManyToOne
    @JoinColumn(name="COURSE_ID", insertable=false, updatable=false)
    private CourseVO course;
}

そして私のユーザーBean。

@Entity
@Table(name = "EC_USER")
public class UserVO extends AbstractVO {
@OneToMany(mappedBy = "user", fetch = FetchType.EAGER)
    private Set<SkillsetVO> skillset;
}

そして、私のサービスクラスでは、Beanを挿入しています。

@Transactional
public void createEvent(TimetableVO timetableVO) throws DataAccessException {
        System.out.println(timetableVO.getSkillset().getId());//Hear id is P.K in SkillSetVO
    entityManager.persist(timetableVO);
}

出力ステートメントの印刷を聞く"S1"しかし、データベースではそれが表示されていNULLます...

それで、私がBeanクラスに設定した間違ったマッピングはありますか?

4

1 に答える 1

3
@ManyToOne
@JoinColumn(name="SKILLSET_ID", insertable=false, updatable=false)
private SkillsetVO skillset;

削除してみてくださいinsertable=false

于 2012-12-21T11:36:35.180 に答える