我用的就是一个中间表m2m_middle维护的。...只是没有思路
解决方案 »
- JSP动态改变下拉列表框(select)中下拉列的最大值
- 这个@XmlType是?与具体的数据库绑带的么?与Hibernate和Ejb的annotation有什么不同?
- 求助实例
- 权限的问题
- 怎么在linux上的jdk1.3上面加上javax.imageio 这个包?或者有什么办法在jdk1.3+tomcat上显示验证码?
- Log4J配置文件的问题
- 向大家请教一个通常遇见实现开发常用到的,而且挺复杂的问题。请各位高手进来讨论一下!给点建议!
- 十四种Java开发工具的秘密
- 关于JMS的疑问,请帮忙
- 使用rest的post方式接收请求的时候报错,求助
- struts切换应用目录如何设置了?
- java.lang.OutOfMemoryError
private static SessionFactory sessionfactory=null;
static
{
sessionfactory=new Configuration().configure().buildSessionFactory();
}
public void saveMessage()
{
Session session=sessionfactory.openSession();
Transaction trs=session.beginTransaction();
try {
StudentPO studenta=new StudentPO("众志");
StudentPO studentb=new StudentPO("小高");
CoursePO course=new CoursePO();
course.setCourseNameA("语文");
course.setCourseNameB("数学");
//构造组件对象
Student_CoursePO student_coursea=new Student_CoursePO(studenta,course,89,98);
Student_CoursePO student_courseb=new Student_CoursePO(studentb,course,78,87);
//建立中间表和科目表的关系
course.getStudent_course().add(student_coursea);
course.getStudent_course().add(student_courseb);
//保存
session.save(studenta);
session.save(studentb);
session.save(course);
trs.commit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
if(trs!=null)
{
trs.rollback();
}
}finally
{
if(session.isOpen())
{
session.close();
}
}
}
public void readMessage(int studentid)
{
Session session=sessionfactory.openSession();
Transaction trs=session.beginTransaction();
try {
StudentPO student=(StudentPO)session.get(StudentPO.class,Integer.valueOf(studentid));
Hibernate.initialize(student.getStudent_course());
trs.commit();
printMessage(student);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
if(trs!=null)
{
trs.rollback();
}
}finally
{
if(session.isOpen())
{
session.close();
}
}
}
public void printMessage(StudentPO student)
{
if(student!=null)
{
System.out.println("学生姓名:"+student.getStuName());
System.out.println("该学生总成绩:"+student.getSumSourse());
System.out.println("==========================");
Iterator iter=student.getStudent_course().iterator();
while(iter.hasNext())
{
Student_CoursePO student_course=(Student_CoursePO)iter.next();
System.out.println(student_course.getCourse().getCourseNameA()+"成绩:"+student_course.getGradea());
System.out.println(student_course.getCourse().getCourseNameB()+"成绩:"+student_course.getGradeb());
}
}
}
}