Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Hibernate 如何使用JPA映射有状态EJB3.1会话bean_Hibernate_Jpa_Annotations_Ejb 3.1 - Fatal编程技术网

Hibernate 如何使用JPA映射有状态EJB3.1会话bean

Hibernate 如何使用JPA映射有状态EJB3.1会话bean,hibernate,jpa,annotations,ejb-3.1,Hibernate,Jpa,Annotations,Ejb 3.1,我对如何使用hibernate的JPA注释来表示我的数据库有疑问。这是一个非常简单的webapp,代表一个在线图书馆 我有一个状态会话bean,允许用户预订书籍。用户最多可以预订2本书。它具有以下字段: 整数id 用户bean用户bean 书单 日期预订日期 日期预约 表示此类的数据库是: int id_book_预订主键 int id_用户FK 国际标识书FK 预订日期 到期日 这个有状态的bean可以用作购物车。因此,它允许用户把书放在那里,继续浏览,添加另一本书,然后最终要求预订(

我对如何使用hibernate的JPA注释来表示我的数据库有疑问。这是一个非常简单的webapp,代表一个在线图书馆

我有一个状态会话bean,允许用户预订书籍。用户最多可以预订2本书。它具有以下字段:

  • 整数id
  • 用户bean用户bean
  • 书单
  • 日期预订日期
  • 日期预约
表示此类的数据库是:

  • int id_book_预订主键
  • int id_用户FK
  • 国际标识书FK
  • 预订日期
  • 到期日
这个有状态的bean可以用作购物车。因此,它允许用户把书放在那里,继续浏览,添加另一本书,然后最终要求预订(就像电子商务网站上的“购买”操作)

我不知道如何映射bookList字段。预订和书籍之间的关系是一对多的,但我想知道如何才能知道,例如,什么时候已经预订了一本书,因为我有一个列表,而不仅仅是一个book对象(在HQL中)

提前谢谢!
干杯。

我认为您正在混合EJB/JPA的两个概念
状态完整会话bean是由容器管理的实体。在这里,您可以将状态保留一段时间,直到statefull会话bean过期。
数据库表应该用实体表示。是带有注释(或xml配置)的POJO。在这些注释中,您可以指定表特征、主键和外键。
因此,将表映射到另一个类的字段移动,然后可以使用statefull会话bean来保持状态


祝你好运

我认为你把EJB/JPA的两个概念混在一起了
状态完整会话bean是由容器管理的实体。在这里,您可以将状态保留一段时间,直到statefull会话bean过期。
数据库表应该用实体表示。是带有注释(或xml配置)的POJO。在这些注释中,您可以指定表特征、主键和外键。
因此,将表映射到另一个类的字段移动,然后可以使用statefull会话bean来保持状态


祝您好运

只需补充一点,除了考虑java实体应该如何分解外,您还需要考虑您的数据以及它应该如何在数据库中表示。映射将在java模型(JPA实体)和数据库表之间进行。在Eclipse中使用Dali这样的工具可以帮助实现这种映射。除了考虑java实体应该如何分解外,您还需要考虑数据以及数据应该如何在数据库中表示。映射将在java模型(JPA实体)和数据库表之间进行。在Eclipse中使用Dali之类的工具可以帮助实现这种映射。