读书人

请问EJB Persistence高手 Many-To-Man

发布时间: 2012-08-01 17:53:40 作者: rapoo

请教EJB Persistence高手 Many-To-Many 如何只更新主表和中间表
一个Teacher 一个Student 表,多对多关系,关联表Teacher_Student
想要实现下面这个功能该怎么配置呢
1、创建一条Teacher的数据记录,并在Teacher_Student中间表插入关联数据,但是Student数据是不需要操作的。
2、根据TeacherID 删除Teacher_Student中间表数据。

自己找了好久,没有找到合适的资料,尝试着不通的配置也没有找到出路,

部分代码如下,但是
Teacher类:Annotation
@ManyToMany(cascade = CascadeType.REFRESH, fetch = FetchType.LAZY)
@JoinTable(name = "Teacher_Student",
joinColumns = { @JoinColumn(name = "TeacherID", referencedColumnName = "TeacherID") },
inverseJoinColumns = { @JoinColumn(name = "StudentID", referencedColumnName = "StudentID") })

Student类:Annotation
@ManyToMany(cascade = CascadeType.REFRESH, fetch = FetchType.LAZY, mappedBy = "teachers")



[解决办法]

Java code
long[] studentIds = 。。。List<Student> list = new ArrayList<Student>();for(long id : studentIds){  list.add(em.find(Student.class,id);}teacher.setStudents(list); 

读书人网 >J2EE开发

热点推荐