读书人

hibernate 投射-多对多双向

发布时间: 2013-08-04 18:26:16 作者: rapoo

hibernate 映射-多对多双向
@ManyToMany(mappedBy = "exams")public List<User> getUsers() { return users; }

?

创建的中间表的名称是t_user_exam,其中user_id是参考考生id的外键;exam_id是参考考试id的外键。

sql语句:

15:24:37,390 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:377 -?

? ? create table t_user_exam (

? ? ? ? user_id integer not null,

? ? ? ? exam_id integer not null

? ? )

15:24:37,453 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:377 -?

? ? alter table t_user_exam?

? ? ? ? add index FK331826084DE43CAB (exam_id),?

? ? ? ? add constraint FK331826084DE43CAB?

? ? ? ? foreign key (exam_id)?

? ? ? ? references Exam (id)

15:24:37,609 DEBUG org.hibernate.tool.hbm2ddl.SchemaExport:377 -?

? ? alter table t_user_exam?

? ? ? ? add index FK3318260894018D2B (user_id),?

? ? ? ? add constraint FK3318260894018D2B?

? ? ? ? foreign key (user_id)?

? ? ? ? references User (id)

?

单向与双向的区别:

(1)单向,只能从一方导航到另一方,不能反之;即只能从A导航到B,而不能从B导航到A;

双向,可以从一方导航到另一方,反之亦然;即既可以从A导航到B,也可以从B导航到A;

(2)单向,只需要配置导航始发地的类;

双向,两个类都需要配置。

?

注意:

(1)成员变量名称中最好不要有下划线;

(2)成员变量的类型中不要有ArrayList,应该用List 或Set

?

?

读书人网 >编程

热点推荐