java - @Entity 使用 JSF,使用 JPA 保留 "hello world"

标签 java jsf jpa ejb cdi

Oracle很好地描述了如何创建@Entity。但是,我并不清楚如何实际添加/删除表。我也喜欢印度玫瑰explanation ,但只是想澄清总体思路。

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

只是想在开始之前澄清一下总体思路。

最佳答案

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

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

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

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

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

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

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

I can just use default JPA which comes with Glassfish?

是的,对于基于规范的功能。

关于java - @Entity 使用 JSF,使用 JPA 保留 "hello world",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10097504/

相关文章:

java - primefaces 与民意调查咆哮

hibernate - 合并并获取未刷新的待更新版本?

spring - 为什么@Transactional 会自动保存到数据库

jsf - Richfaces 4 tabPanel actionListener 在第一次调用时不起作用

java - JPA 实体在 Ubuntu 上得到更新但在 Windows 上抛出乐观锁定异常

java - Hbase 的 LZO 压缩

java - 使用类加载器实现 Java 和 Android 之间的共享代码

jsf - 如何在JSF中制作图像按钮

java - JPQL:在更新中将列设置为空

java - Java打印InternalError实际错误