Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
HibernateXMLArrayList_Xml_Hibernate_Arraylist - Fatal编程技术网

HibernateXMLArrayList

HibernateXMLArrayList,xml,hibernate,arraylist,Xml,Hibernate,Arraylist,我在我的申请中有这种关系: Entry 1:n Guest 条目.class包含以下属性: Entry { ... List<Guest> guestList = new ArrayList<Guest>(); ... } 以下是来宾表架构的说明: table : guest[guest_id,entry_fk,guestName,...] 顺便说一下 我无法在此项目中使用批注 最好是,我想使用延迟加载(只要它起作用) 我的表中没有索引,但Hibern

我在我的申请中有这种关系:

Entry 1:n Guest
条目.class
包含以下属性:

Entry {
  ...
  List<Guest> guestList = new ArrayList<Guest>();
  ...
}
以下是来宾表架构的说明:

table : guest[guest_id,entry_fk,guestName,...]
顺便说一下

  • 我无法在此项目中使用批注
  • 最好是,我想使用延迟加载(只要它起作用)
  • 我的表中没有索引,但Hibernate一直要求这个定义

我对XML映射没有任何经验,但我发现至少有两个错误:

  • 您的字段应声明为
    List
    ,以允许Hibernate注入其自己的延迟加载列表实现(无论如何,始终使用接口而不是concreate类型是一种最佳做法,但Hibernate必须这样做)
  • 如果它是一个列表,它需要一个索引。否则,它就是一个包。索引应该包含列表中来宾的索引。ID不是索引

  • 否则,中描述了一对多映射。将示例中的
    集合
    替换为
    ,这样就可以了。

    谢谢您的建议!关于1。很抱歉,在我部署的代码中,我使用的是List而不是ArrayList—我在示例中犯了一个错误。(现在更新了。)有人对2有具体的建议吗?我的回答中有一个建议。添加索引列,或使用
    bag
    而不是
    list
    table : guest[guest_id,entry_fk,guestName,...]