使用连接和 Eclipselink JPA2.0 实体编写 JPA 本机查询的正确方法是什么?
有人可以告诉我使用 Eclipselink JPA 本机查询或 JPQL 执行以下 SQL 查询吗?
SQL查询为:Select e.EmployeeName,e.EmpId, d.DeptId from Employee e, Department d join e.DeptId on d.DeptId where e.DeptId=d.DeptId
JPA 实体 bean 代码片段
@Entity
@Table(name = "employee")
@JoinColumn(name = "DeptId", referencedColumnName = "DeptId")
@ManyToOne
private Department DeptId;
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Employee.findAll", query = "SELECT e FROM Employee e")})
//more auto generated named queries using NetBeans
JPA 实体类“Employee”实现 java.io.Serializable 并且默认构造函数包含所有必需字段。
将 jpa 实体与 My-SQL 表映射的正确方法是什么
多对一关系:Employee.DeptId --> Department.DeptId Employee.RoleId --> JobRoles.RoleId
Employee.RoleId --> Skills.SkillId 两个表成功后我想加入三个表。
我正在阅读 Ecipselink 用户指南,但无法得到它。有人会为我提供代码片段或指导我更正资源。
我浏览了 EclipseLink JPA 在线指南:
http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/ 查询 http://wiki.eclipse.org/EclipseLink/UserGuide/JPA
我正在使用本机查询,因为 Eclipse 链接 JPA 支持它并且 JPQL 不提供完整的可移植性。我编写并开发了一个示例 jsf-jpa 应用程序,其中 jpa 实体映射到单个表。使用 Netbeans IDE,生成和执行 JPQL 查询不需要太多时间。
我想使用本机查询和/或存储过程执行 JPA 实体。如果我可以在 SQL 查询和存储过程中使用我现有的技能,只要 JPA 实现不会带来太多问题,那将会更有效率。
更新:可以根据JSR 317 的第 3.8.15 节 SQL 查询使用本机 SQL 查询:[JavaTM Persistence API,2.0 版][1] http://download.oracle.com/otndocs/jcp/persistence-2.0-fr -其他-JSpec/
SQL 查询工具旨在为必须使用正在使用的目标数据库的本机 SQL 的情况(和/或无法使用 Java Persistence 查询语言)的情况提供支持。本机 SQL 查询预计不能跨数据库移植
因此,我认为使用本机查询没有错,因为我不需要可移植性。