2016-02-01 115 views
0

表我有一个“学生”和另一个“法”,这些表之间的关系是多对一-many, 这将创建一个新的“student_act”表。插入记录存在于许多一对多,休眠

但是我已经注册的学生,我对他们现有的法律还报告,我怎么能与Hibernate做呢?请帮我

我有一个表“学生”和另一个“分”,这些表和许多一对多, 这将创建一个新表“aluno_acta”之间的关系。

但是我已经注册的学生,我把它们涉及到现有的法律还,因为这样做吗?

+0

请提供你已经尝试过什么,什么在你的努力都失败了信息。 – DrunkenPope

回答

0

帮助时,我有一个多对多的关系,从来没有他们在班通这样的:

class Student { 
    private Collection<Act> acts; 
} 

class Act { 
    private Collection<Student> students; 
} 

这背后的原因是因为我不希望加载更多的则需要。
这是什么意思这一点: =
> 1个学生有行为。每一幕都有X学生。这些学生有徒X,...

当你加载你得到了很多,那么你希望你的数据库的查询,是要重很多只是一个实体。
Hibernate可以使用集合,但懒惰雷个人经验的工作,它只是在一个痛苦......(你知道我的意思^^)。
懒惰收藏快速解释:当您查询对象或者你需要离开DB连接直接开取的集合。既不
这些都是在我的意见很大。

的解决方案,我永远要做:

class Student { 
} 

class Act { 
} 

class StudentAct{ 
    private Student student; 
    private Act act; 
} 

该方案具有随时从数据库得到光的物体的优势。
如果你需要所有的行为对特定学生StudenAct的你查询哪里学生学生这是所有条目。
因为它不是懒惰的收集,获取您的数据库创建一个新的连接,所以你不需要离开打开喜欢偷懒收集的连接,也不需要直接下载当你希望他们1名学生。

对于现在的接入,只是做一个新的对象,并保存StudentAct到数据库。