我怀疑如何使用带有hibernate的JPA注释来表示我的数据库。这是一个非常简单的代表在线图书馆的webapp。
我有一个有状态的会话bean,允许用户预订书籍。用户最多可以预订2本书。它包含以下字段:
表示此类的数据库是:
这个有状态的bean可以作为购物车使用。因此,它允许用户将书籍放在那里,继续浏览,添加另一本书,然后最终要求预订(如电子商务网站上的“购买”操作)。
我无法弄清楚如何映射bookList字段。预订和书籍之间的关系是一对一的,但我想知道如何知道,例如,当一本书已经被保留,因为我有一个List而不仅仅是一个书籍对象(在HQL中)
提前致谢! 欢呼声。
答案 0 :(得分:3)
我认为你正在混合使用EJB / JPA的两个概念。
statefull会话bean是由容器管理的实体。在这里你可以保持状态一段时间,直到statefull会话bean到期为止
您的数据库表应该在实体中表示。 entity是带注释(或xml配置)的POJO。在这些注释中,您可以指定表特征,主键和外键
因此,将映射表的字段移动到另一个类,然后可以使用statefull会话bean来保持状态。