📅  最后修改于: 2021-01-02 15:34:00             🧑  作者: Mango
我们可以在Hibernate中映射Persistent类的集合元素。您需要从以下类型之一声明Persistent类中的集合类型:
持久性类应该像这样为collection元素定义。
package com.javatpoint;
import java.util.List;
public class Question {
private int id;
private String qname;
private List answers;//List can be of any type
//getters and setters
}
,
列表中使用了三个子元素:
如果collection存储字符串对象,则这是collection的映射。但是,如果集合存储实体引用(另一个类对象),则需要定义
package com.javatpoint;
import java.util.List;
public class Question {
private int id;
private String qname;
private List answers;//Here, List stores the objects of Answer class
//getters and setters
}
package com.javatpoint;
import java.util.List;
public class Answer {
private int id;
private String answer;
private String posterName;
//getters and setters
}
现在,映射文件将是:
在此,列表是通过一对多关系映射的。在这种情况下,一个问题可能有很多答案。
key元素用于根据原始身份在联接表中定义外键。默认情况下,外键元素可以为空。因此,对于不可为空的外键,我们需要指定不可为空的属性,例如:
键元素的属性为列,删除,属性引用,非空,更新和唯一。
收集元素可以分为两种形式:
List和Map集合已建立索引,而set和bag集合未建立索引。在这里,索引集合意味着List和Map需要一个附加元素
集合元素可以具有值或实体引用(另一个类对象)。我们可以使用4个元素之一
element和component-element用于正常值,例如字符串,int等,而一对多和多对多用于映射实体引用。