各位好!请帮忙看看如下这种表结构在MySQL如何设置:
学生类(Student)"
int id;
String name;
Class class;班级类(Class):
int id;
String name;请问在MySQL中,如何设计Student表,可以存储Class对象?
谢谢!
学生类(Student)"
int id;
String name;
Class class;班级类(Class):
int id;
String name;请问在MySQL中,如何设计Student表,可以存储Class对象?
谢谢!
table 班级
id,name,codestudent 学生
id,stuname,班级ID
2.student{
id int;
name varchar();
class_id int;
}
然后建Class表,建议名字不要叫class,换个名字,接着加外键关联就可以了。你懂的
select t.class.name from Student t
你sql中怎么可能这样写呢?应该是hql才对。
只能把Classes的ID作为外键吗?只能这样吗?
student 学生
id,stuname,class_id(而不能直接Class?)。
本人是菜鸟,还望各位指教!
谢谢!
//给个实例吧,不过这个讲就涉及到很多细节了,建议你google,或者看视频,有些代码省略@Entity
@Table(name="t_student")
public class Student {
private int id;
private String name;
private Teacher teacher;
@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
@JoinColumn(name="teacherId")
public Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}//Teacher.java 这里本来不是一对多的关系,为了写实例方便,表示一个学生只有拥有一个老师
@Entity
@Table(name="t_teacher")
public class Teacher {
private int id;
private String name;
@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;
}
}
//import省略,即使我写上,你也不能直接运行,要导jar包的
//如果是只用到hibernate,没用到spring的话,还要单独一个hibernate的配置文件,祝你好运