我需要執行一個數據庫查詢序,以在許多額外的列「柱的順序」設置爲許多關聯表。所以我需要從Entity類中訪問數據庫序列,然後選擇sequence的nextval並將其分配給@prepersist生命週期回調方法中的order_by列。
如何訪問EntityManager的實體類中的EJB3
@Entity
public class ProductWishlist implements Serializable
{
....
@Column(name="ORDER_BIT")
private long orderBit;
// getter setter
// .......
@Prepersist
public void setOrderBit(EntityManager entityManager)
{
Query q=entityManager.createNativeQuery("select nextval('SHP_PRODUCTS_PICS_ORDER_SEQ')");
Long order=(Long)q.getResultList().get(0);
this.setOrderBit(order);
}
}
我怎麼能setOrderBit中訪問entitymanger從()?我如何將EntityManager傳遞給它? 或者我如何在一個Entity類中執行原生查詢?