Hibernate 至 WebSphere JPA - Java 規則
Hibernate 至 WebSphere JPA Java 規則位於 Java 程式碼複查 架構移轉規則種類下。 這些規則提供了如何移轉常用 Hibernate 介面及方法的相關資訊。 必須手動將 Hibernate 程式碼移轉至 WebSphere JPA。 如需移轉指引,請使用每個規則的詳細說明中的資訊及範例。
| 規則名稱 | 快速修正程式 | 已採取的動作 |
|---|---|---|
| 不要使用 Hibernate 套件 | 否 | 此規則會偵測是否使用了其他規則未涵蓋的 Hibernate 套件參照。 |
| 不要使用 Hibernate Configuration buildSessionFactory 方法 | 否 | 此規則會標示 org.hibernate.cfg.Configuration buildSessionFactory 方法。 請改用 javax.persistence.Persistence createEntityManagerFactory 方法。 |
| 不要使用 Hibernate Query getNamedParameters 方法 | 否 | 此規則會標示 org.hibernate.Query getNamedParameters 方法。 請改用 javax.persistence.Query getParameters 方法。 |
| 不要使用 Hibernate Query list 方法 | 否 | 此規則會標示 org.hibernate.Query list 方法。 請改用 javax.persistence.Query getResultList 方法。 |
| 不要使用 Hibernate Query 方法來設定參數 | 否 | 此規則會標示 org.hibernate.Query set-parameter 方法。 請改用 javax.persistence.Query setParameter 方法。 |
| 不要使用 Hibernate Query setParameterList 或 setParameters 方法 | 否 | 此規則會標示 org.hibernate.Query setParameterList 及 setParameters 方法。 請改用 javax.persistence.Query setParameter 方法。 |
| 不要使用 Hibernate Query uniqueResult 方法 | 否 | 此規則會標示 org.hibernate.Query uniqueResult 方法。 請改用 javax.persistence.Query getSingleResult 方法。 |
| 不要使用 Hibernate Session beginTransaction 方法 | 否 | 此規則會標示 org.hibernate.Session beginTransaction 方法。 請改用 javax.persistence.EntityManager getTransaction 方法(其後緊接著對 javax.persistence.EntityTransaction begin 方法的呼叫)。 |
| 不要使用 Hibernate Session createCriteria 方法 | 否 | 此規則會標示 org.hibernate.Session createCriteria 方法。 請使用 javax.persistence.EntityManager getCriteriaBuilder 方法(其後緊接著對 javax.persistence.criteria.CriteriaBuilder createQuery 方法的呼叫)。 |
| 不要使用 Hibernate Session createQuery 方法 | 否 | 此規則會標示 org.hibernate.Session createQuery 方法。 請改用 javax.persistence.EntityManager createQuery 方法。 |
| 不要使用 Hibernate Session createSQLQuery 方法 | 否 | 此規則會標示 org.hibernate.Session createSQLQuery 方法。 請改用 javax.persistence.EntityManager createNativeQuery 方法。 |
| 不要使用 Hibernate Session delete 方法 | 否 | 此規則會標示 org.hibernate.Session delete 方法。 請改用 javax.persistence.EntityManager remove 方法。 |
| 不要使用 Hibernate SessionFactory 介面 | 否 | 此規則會標示是否使用了 org.hibernate.SessionFactory 介面。 請改用 javax.persistence.EntityManagerFactory 介面。 |
| 不要使用 Hibernate SessionFactory isClosed 方法 | 否 | 此規則會標示 org.hibernate.SessionFactory isClosed 方法。 請改用 javax.persistence.EntityManagerFactory isOpen 方法。 |
| 不要使用 Hibernate SessionFactory openSession 方法 | 否 | 此規則會標示 org.hibernate.SessionFactory openSession 方法。 請改用 javax.persistence.EntityManagerFactory createEntityManger 方法。 |
| 不要使用 Hibernate Session getNamedQuery 方法 | 否 | 此規則會標示 org.hibernate.Session getNamedQuery 方法。 請改用 javax.persistence.EntityManager createNamedQuery 方法。 |
| 不要使用 Hibernate Session getSessionFactory 方法 | 否 | 此規則會標示 org.hibernate.Session getSessionFactory 方法。 請改用 javax.persistence.EntityManager getEntityManagerFactory 方法。 |
| 不要使用 Hibernate Session 介面 | 否 | 此規則會標示 org.hibernate.Session 介面。 請改用 javax.persistence.EntityManager 介面。 |
| 不要使用 Hibernate Session load 方法 | 否 | 此規則會標示 org.hibernate.Session load 方法。 請改用 javax.persistence.EntityManager find 方法。 |
| 不要使用 Hibernate Session save 方法 | 否 | 此規則會標示 org.hibernate.Session save 方法。 請改用 javax.persistence.EntityManager persist 方法。 |
| 不要使用 Hibernate Session saveOrUpdate 方法 | 否 | 此規則會標示 org.hibernate.Session saveOrUpdate 方法。 請改用 javax.persistence.EntityManager merge 方法。 |
| 不要使用 Hibernate Session update 方法 | 否 | 此規則會標示 org.hibernate.Session update 方法。 請改用 javax.persistence.EntityManager merge 方法。 |
| 不要使用 Hibernate Transaction 介面 | 否 | 此規則會標示使用的 org.hibernate.Transaction 介面、org.hibernate.JDBCTransaction 類別及 org.hibernate.JTATransaction 類別。 將所使用的 Transaction 介面及 JDBCTransaction 類別,取代為 javax.persistence.EntityTransaction 介面。 將所使用的 JTATransaction 類別取代為 javax.transaction.UserTransaction 介面。 |
| 移轉作為查詢使用的 HQL FROM 子句 | 是 | 此規則會偵測並移轉以 FROM 子句為開頭的「Hibernate 查詢語言 (HQL)」。 在 JPA 中,查詢字串必須以 SELECT 子句為開頭。 |
| 移轉 HQL ORDER BY UPPER/LOWER 子句 | 否 | 此規則會偵測包含 ORDER BY
UPPER 或 ORDER BY LOWER 子句的「Hibernate 查詢語言 (HQL)」字串,這些子句必須移轉才能與 JPA 搭配使用。 |