Oracle非常了解如何制作@Entity。但是,我并不完全清楚如何实际添加/删除表。我也喜欢玫瑰印度explanation,但只是想澄清一般的想法。
对于带有CDI的JSF JEE6应用程序,我基本上可以创建一个@Entity类,在@Named bean中实例化一些实例,并使用来自bean的EntityManager将(CRUD操作)写入MySQL数据库?我可以使用Glassfish附带的默认JPA吗?
我想在开始之前澄清一般的想法。
答案 0 :(得分:5)
一般来说,您至少有两个选择:
创建数据库表和引用,然后根据数据库表构建实体类(现代IDE提供了从db表自动生成实体类的工具)
手动编写实体类并从这些类创建数据库。 JPA提供程序通常通过在 persistence.xml 中设置一个特殊参数来允许这种情况,例如:对于Eclipselink:
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
删除所有现有表并从实体类中创建新表(在开发期间特别有用),而
<property name="eclipselink.ddl-generation" value="create-tables"/>
只会在没有现有表的情况下创建新表。
我可以使用Glassfish附带的默认JPA吗?
是的,基于规范的功能。