Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在hibernate中映射字符串[]_Java_Hibernate_Mapping_Arrays - Fatal编程技术网

Java 如何在hibernate中映射字符串[]

Java 如何在hibernate中映射字符串[],java,hibernate,mapping,arrays,Java,Hibernate,Mapping,Arrays,如何在hibernate中映射以下类: private class Book { private int id; private String title; private String[] chapterTitles; //Constructor, Getters and Setters } 我在Hibernate中映射了集合和基元数组,但是如何使用字符串[]?我的hibernate工具以“NullPointerException”停止,因此我无法生成映射。

如何在hibernate中映射以下类:

private class Book {
    private int id;
    private String title;
    private String[] chapterTitles;

    //Constructor, Getters and Setters
}

我在Hibernate中映射了集合和基元数组,但是如何使用字符串[]?我的hibernate工具以“NullPointerException”停止,因此我无法生成映射。我在谷歌上搜索过,但找不到任何注释。

你可以这样做,尽管我个人更喜欢改变你的设计,使用列表来代替。

我不知道如何使用注释,我个人认为这不是一个好主意,你应该使用
列表,但是你可以使用xml映射

您应该使用



Hi@danny,我已经尝试过了,我得到了以下异常:org.hibernate.MappingException:无法确定字符串的类型,在表中:Titles,列:[org.hibernate.mapping.Column(title\u ID)]请尝试小写字符串,但是最佳使用列表:)当我使用'string'时,我得到了java.lang.ClassCastException:org.hibernate.type.StringType不能转换为org.hibernate.type.PrimitiveType。好的,我想我应该用列表代替。你也有列表的指针吗?嗨@Sean,如果我使用列表,我该怎么做?@Ragunahjawahar我想你已经映射了集合了?你们的问题文本是这样说的。是的,我为列表做了那个,但还并没有为字符串做那个。没有问题,我已经找到了解决办法。无论如何,谢谢。这是一个用于JME客户机的Web服务,它使用简单的XML将对象序列化为XML。另一个开发人员编写的设备上的XML解析器使用通用解析器来解析内容。将成员更改为集合将生成不同的XML元素类型,这将破坏JME应用程序的解析器。是吗?通常情况下,数组和列表在xml/json序列化时应该是可互换的,因为“标记”的名称会发生变化。我必须对其他“模型”类进行更改,以使它们兼容,这是我不愿意做的。
<array name="chapterTytles" table="Titles">
    <key column="title_ID" />
    <index column="tytle_index" />
    <element column="tytle_name" type="string" />
</array>