Java 如何使用Hibernate XML文件映射字符串列表
我正在尝试使用HibernateXML映射文件映射字符串列表。我的班级如下:Java 如何使用Hibernate XML文件映射字符串列表,java,xml,hibernate,Java,Xml,Hibernate,我正在尝试使用HibernateXML映射文件映射字符串列表。我的班级如下: public class Historic { private String id; private String resolution; private List<String> names; private List<Score> scores; private String base; private List<Grade> gr
public class Historic {
private String id;
private String resolution;
private List<String> names;
private List<Score> scores;
private String base;
private List<Grade> grades;
}
是这样吗?假设您有两个表(父表和子表)
你应该这样做->在你的情况下,分数,分数等,你应该定义另一个表
下面是hibernate中XML映射的一个示例
<class name="Parent" table="Parent">
<id name="parentId" column="id" type="integer" /> <!-- TODO: specify generator -->
<property name="parentName" type="string" column="name" />
<bag name="childs" table="Children" inverse="true">
<key column="parent_id" />
<one-to-many class="Child" />
</bag>
</class>
<class name="Child" table="Children">
<id name="childId" column="id" type="integer" /> <!-- TODO: specify generator -->
<property name="childName" type="string" column="name" />
<many-to-one name="parent" column="parent_id" not-null="true"/>
</class>
要获取有关收藏的详细信息,请执行以下操作:
我希望这对你有帮助。你可以这样写:
<list name="names" table="names">
<key column="name_id"></key>
<index column="seq"></index>
<element column="names" type="string"></element>
</list>
有关更多详细信息,请参阅。您不能在单个表中直接执行此操作,需要先映射到其他表。您可以执行此操作,但这不是一个好的做法。在上述映射中,每个父级都有一个或多个子级,但每个子级只有一个父级。
@ElementCollection
@CollectionTable(name="Nicknames", joinColumns=@JoinColumn(name="user_id"))
@Column(name="nickname") // nickname is the name of String field.
public List<String> getNicknames() { ... }
<list name="names" table="names">
<key column="name_id"></key>
<index column="seq"></index>
<element column="names" type="string"></element>
</list>