如果持久类具有Set对象,可以在映射文件中使用set元素映射Set集合。 set元素不需要索引元素。 List和Set之间的区别是: Set只存储唯一的值。
我们来看看我们如何在映射文件中实现集合:
<class name="com.yiibai.Question" table="q102">
...
<set name="answers" table="ans102">
<key column="qid"></key>
<element column="answer" type="string"></element>
</set>
...
</class>
XML
集合映射中映射集合的示例
在这个例子中,我们将看到set的集合映射的完整示例。 这是存储值不是实体引用的集合的示例,这就是为什么要使用 element 而不是one-to-many。
在这里,我们使用论坛的场景:论坛中一个问题有多个答案。

创建一个Java项目:setstring,完整的项目结果如下所示 -

1)创建持久化类
这个持久化类定义了包含Set的类的属性。Question.java代码如下 -
package com.yiibai;
import java.util.List;
public class Question {
private int id;
private String qname;
private List<String> answers;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getQname() {
return qname;
}
public void setQname(String qname) {
this.qname = qname;
}
public List<String> getAnswers() {
return answers;
}
public void setAnswers(List<String> answers) {
this.answers = answers;
}
}
Java
2)创建持久化类的映射文件
在这里,我们创建了用于定义列表的question.hbm.xml文件。
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sour

最低0.47元/天 解锁文章
396

被折叠的 条评论
为什么被折叠?



