加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:10:52 所属栏目:Java 来源:网络整理
导读:什么是加载之间的区别: 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
什么是加载之间的区别:

<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

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

感谢你.

解决方法

它完全取决于您的要求范围.在我的例子中,我使用EclipseLink作为我的项目需求.

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

具有命名查询的示例实体类 –

@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;
    }
};

然后设置查询参数,如上面的情况我们做的事情像 –

public List<AuthorizedUsers> findFragmentByAll(String username,String password)
            throws PersistenceException,IllegalStateException {

        if (em != null) {
            final Query query = em.createNamedQuery("AuthorizedUsers.findByAll");
            query.setParameter("username",username);
            query.setParameter("password",password);
            return query.getResultList();
        }

而em是实体管理器的一个实例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读