Java 如何在hibernate中映射字符串[]
如何在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”停止,因此我无法生成映射。
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>