hibernate-onetomany概念

jobtbby3  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(212)

我把学校和学生作为实体概念,一个学校可以有多个学生,一个学生只能有一个学校。这在中Map为双向关系 Hibernate 这样地:

@Entity
@Table( name = "SCHOOL" )
public class School
{
   @Id
   @Type( type = "uuid-char" )
   @Column( name = "SCHOOL_ID_",
            unique = true,
            nullable = false )
   private UUID schoolId_;

   @OneToMany( mappedBy = "school_",
               cascade = CascadeType.ALL,
               orphanRemoval = true,
               fetch = FetchType.LAZY )
   private List< Student > students_;

(...)

@Entity
@Table( name = "STUDENT" )
public class Student
{
   @Id
   @Type( type = "uuid-char" )
   @Column( name = "STUDENT_ID_",
            unique = true,
            nullable = false )
   private UUID studentId_;

   @ManyToOne
   @JoinColumn( name = "SCHOOL_ID_",
                nullable = false )
   private School school_;

我决定使用这种双向关系来从自动级联中获益,这样我就可以删除一个学校,并且它的学生将被自动删除,而不会有孤立的数据库条目。
我现在的问题是,这一概念是否被正确地建模为上述现实世界目的的表示,以及是否有助于实现这一目标 Hibernate . 我在几篇文章中读到,hibernate在没有Map的情况下确实会为查找和删除创建不必要的查询。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题