多对多怎么写啊?

现在学写hibernate可是对于多对多问题的解决一直搞不太清楚
比如说
一个教师有多个学生
一个学生有多个教师
这中多对多的关系怎么描述?
以前的理解是建立3个表 两个对象表 一个中间表,可是在配置文件描述的时候怎么描述。

建“教师”和“学生”两个表。“教师”表里建一对多关系到“学生”表,“学生”表里建一对多关系到“教师”表,不就行了嘛?
两个“一对多”构成一个“多对多”。