Java 如何使用Hibernate XML文件映射字符串列表

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

我正在尝试使用HibernateXML映射文件映射字符串列表。我的班级如下:

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>