EclipseLink(非OSGi)与EclipseLink JPA之间的区别

时间:2015-10-25 12:13:32

标签: java eclipse jpa eclipselink

加载之间的区别是什么:

<dependency org="org.eclipse.persistence" name="eclipselink" rev="2.5.2"/>

<dependency org="org.eclipse.persistence" name="org.eclipse.persistence.jpa" rev="2.5.2"/>

我可以看到在maven“EclipseLink”中命名的Eclipselink有比其他类更多的类和实用程序...例如目标数据库:

org.eclipse.persistence.platform.database.oracle.OracleXXXPlatform

使用其他矿石的标准是什么?

谢谢你。

1 个答案:

答案 0 :(得分:0)

这完全取决于您的要求范围。就我而言,我使用了 EclipseLink 来满足我的项目需求。

EclipseLink的主要优点之一是您可以直接在JPQL查询中调用本机SQL函数。在Hibernate中,这不可能直接实现。

带有命名查询的示例实体类-

java.nio.Buffer java.nio.Buffer.clear()

然后设置查询参数,就像上面的例子一样,我们做类似的事情-

@Entity
@Table(name = "authorizedUsers", schema = "public")

@NamedQuery(name = "AuthorizedUsers.findByAll",
        query = "SELECT a FROM AuthorizedUsers a where a.username = :username and a.password = :password")
public class AuthorizedUsers implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "id")
    private Integer id;

    @Column(name = "username")
    private String username;

    @Column(name = "password")
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
};

而em是实体管理器的实例。