与JSF一起使用@Entity,用JPA坚持“hello world”

时间:2012-04-10 22:41:58

标签: java jsf jpa ejb cdi

Oracle非常了解如何制作@Entity。但是,我并不完全清楚如何实际添加/删除表。我也喜欢玫瑰印度explanation,但只是想澄清一般的想法。

对于带有CDI的JSF JEE6应用程序,我基本上可以创建一个@Entity类,在@Named bean中实例化一些实例,并使用来自bean的EntityManager将(CRUD操作)写入MySQL数据库?我可以使用Glassfish附带的默认JPA吗?

我想在开始之前澄清一般的想法。

1 个答案:

答案 0 :(得分:5)

一般来说,您至少有两个选择:

  1. 创建数据库表和引用,然后根据数据库表构建实体类(现代IDE提供了从db表自动生成实体类的工具)

  2. 手动编写实体类并从这些类创建数据库。 JPA提供程序通常通过在 persistence.xml 中设置一个特殊参数来允许这种情况,例如:对于Eclipselink:

  3. <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
    

    删除所有现有表并从实体类中创建新表(在开发期间特别有用),而

    <property name="eclipselink.ddl-generation" value="create-tables"/>
    

    只会在没有现有表的情况下创建新表。

      

    我可以使用Glassfish附带的默认JPA吗?

    是的,基于规范的功能。