GeneratedValue
来源:互联网 发布:阿里云如何升级配置 编辑:程序博客网 时间:2024/05/24 01:47
Course类:
@Entity
@Table(name="t_course")
public class Course
{
private int id;
private String name;
private Set teachers;
public Course()
{
teachers = new HashSet();
}
public void addTeacher(Teacher teacher)
{
teachers.add(teacher);
}
@ManyToMany ---> ManyToMany指定多对多的关联关系
@JoinTable(name="t_teacher_course", joinColumns={ @JoinColumn(name="cid")},
inverseJoinColumns={ @JoinColumn(name = "tid") }) ---> 因为多对多之间会通过一张中间表来维护两表直接的关系,所以通过 JoinTable 这个注解来声明,name就是指定了中间表的名字,JoinColumns是一个 @JoinColumn类型的数组,表示的是我这方在对方中的外键名称,我方是Course,所以在对方外键的名称就是 rid ,inverseJoinColumns也是一个 @JoinColumn类型的数组,表示的是对方在我这放中的外键名称,对方是Teacher,所以在我方外键的名称就是 tid public Set getTeachers()
{
return teachers;
}
public void setTeachers(Set teachers)
{
this.teachers = teachers;
}
@Id
@GeneratedValue
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
2.将Many-to-Many拆分成两个One-to-Many的映射(Admin、Role、AdminRole)
Admin类:
@Entity
@Table(name="t_admin")
public class Admin
{
private int id;
private String name;
private Set ars;
public Admin()
{
ars = new HashSet();
}
public void add(AdminRole ar)
{
ars.add(ar);
}
@Id
@GeneratedValue
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
@OneToMany(mappedBy="admin") ---> OneToMany关联到了AdminRole这个类,由AdminRole这个类来维护多对一的关系,mappedBy="admin"
@LazyCollection(LazyCollectionOption.EXTRA)
public Set getArs()
{
return ars;
}
public void setArs(Set ars)
{
this.ars = ars;
}
}
Role类:
@Entity
@Table(name="t_role")
public class Role
{
private int id;
private String name;
private Set ars;
public Role()
{
ars = new HashSet();
}
public void add(AdminRole ar)
{
ars.add(ar);
}
@Id
@GeneratedValue
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
@OneToMany(mappedBy="role") ---> OneToMany指定了由AdminRole这个类来维护多对一的关联关系,mappedBy="role"
@LazyCollection(LazyCollectionOption.EXTRA)
public Set getArs()
{
return ars;
}
public void setArs(Set ars)
{
this.ars = ars;
}
}
AdminRole类:
@Entity
@Table(name="t_admin_role")
public class AdminRole
{
private int id;
private String name;
private Admin admin;
private Role role;
@Id
@GeneratedValue
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
@ManyToOne ---> ManyToOne关联到Admin
@JoinColumn(name="aid")
public Admin getAdmin()
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- @GeneratedValue
- 在C语言中,double、long、unsigned、int、char类型数据所占字节数
- 我还太菜
- 分治思想的求最大子数组和代码实现(C++)
- 十道海量数据处理面试题与十个方法大总结
- failover inloving the physical standby
- GeneratedValue
- 使用ContentProvide读写短信
- springmvc+mybatis 配置多数据源相互切换
- crm2011fetchxml分页查询
- 关于Spring的69个面试问答——终极列表
- RequestMapping("/user"
- nagios,zabbix对比
- Nginx HTTP请求流程
- C. Devu and Partitioning of the Array