我有一个有状态会话bean和一个CMP实体bean。实体bean是否代表数据库中的表?
每个客户端都有自己的有状态会话bean,每个有状态会话bean都有自己的实体bean?
如果我想将有状态会话bean连接到实体bean,或者我应该说我想为该有状态bean创建一个新的实体bean实例,我该怎么办?
当我有实体bean时,我可以用它来访问数据库,对吧?如果我想在会话bean中将一些数据写入数据库,我应该如何处理实体bean?
答案 0 :(得分:3)
使用EJB 3.0,实体bean只是添加了ORM(对象关系映射)注释的POJO(普通旧Java对象)。它们是最常用的顶级表示对象,通过从数据库读取实例化,也需要在稍后阶段写回数据库。
要回答部分问题,是的,实体bean的类确实代表数据库中的表。实体bean的实例表示该表中的一行。类的ORM注释属性表示该表的列标题。
有状态会话bean可用于存储实体bean作为其状态的一部分,但不一定 - 可以存储任何其他对象。您可以选择合适的选项。
是的,您可以将实体bean写入数据库。为此,您需要设置和配置持久层 - 您应该在设置Java EE服务器时已经完成此操作 - 然后您可以使用JDBC API来保存实体bean。
您可能想要了解持久性,ORM和JDBC;它们如何在Java EE环境中使用 - 当你这样做时,你的许多问题都会得到解答。
HTH