Time of Update: 2018-12-07
1.企業bean (1)session bean(stateless和stateful session bean) 會話bean:從用戶端獲得EJB對象開始,然後調用EJB方法,直到用戶端釋放EJB對象為止。用戶端通過JNDI尋找EJB對象。若每次會話尋找同一對象時,則返回不同對象。 對象的狀態由它的執行個體變數的值決定的。 有狀態session
Time of Update: 2018-12-07
customer與address單向一對一關聯性1.增加級聯 在customer中@OneToOne@JoinColumn(name="address_id")public Address getAddress(){ return this.address;} address中無特別的註解 同時增加一個customer和address:@PersistenceContextprotected EntityManager em;public Customer
Time of Update: 2018-12-07
@OneToOne的四個屬性1.targetEntity targetEntity 屬性是 Class 類型的屬性。定義實體一對一關聯性中處於從屬地位的實體類的類型。2.mappedBy mappedBy 屬性是 String 類型的屬性。mappedBy 屬性的值是當前實體在關聯實體中的屬性名稱,使用 mappedBy
Time of Update: 2018-12-07
盡信書不如無書,特別在當前國內許多技術圖書一片抄,誤人子弟的形勢下:Customer級聯Orderpackage com.bookstore.entity;import java.io.Serializable;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Column;import
Time of Update: 2018-12-07
當你的EJB3是deploy to jboss的情況下,ejb client調用EJB3分兩種情況:1) 發布在jboss的web app作為client來調用EJBEJB和調用EJB的WEB 應用都發布在Jboss Integration Environment下。在Jboss下發布WEB 應用,需要把WEB 應用打包成war 檔案。另外在此環境下調用EJB 不需要把EJB 的介面類放入/WEB-INF/classes/目錄中,否則在調用Stateful Bean 就會發生類型衝突,
Time of Update: 2018-12-07
有狀態和無狀態的會話bean都在用戶端產生不同的代理執行個體 不同的是在伺服器端,有狀態的每次lookup都是新的獨立的bean,而無狀態的是單例bean。public class StatelessEjbClient {/** * @param args * @throws NamingException */public static void main(String[] args) throws NamingException { Hashtable env=new
Time of Update: 2018-12-07
package com.persia.entity;import javax.persistence.Embeddable;@Embeddablepublic class Name implements java.io.Serializable{/** * */private static final long serialVersionUID = -7695123567614604550L;/** * *///private static final long
Time of Update: 2018-12-07
1.所有無狀態會話bean的執行個體都是一樣的。2.對於有狀態的EJB,要限制記憶體中會話bean的數量,EJB容器需要把會話bean的工作階段狀態保持到硬碟或其他儲存空間中,以釋放記憶體給其他bean使用--掛起(@PrePassive)。被掛起的bean的狀態重新回到記憶體中--啟用(@PostActive)。transient類型的bean不能被掛起。通過@PrePassive,@PostActive回調方法來釋放和獲得資源。3.預設是本地介面@local。如果再本機調用EJB(用戶端和E
Time of Update: 2018-12-07
1.createQuery() 尋找: Query q=em.createQuery(“select p from Person p where p.name=’persia’ ”); List rs=q.getResultList(); 更新: Query q=em.createQuery(“update Person p set p.name=?1 where p.personid=?2”); q.setParameter(1,”persia”);
Time of Update: 2018-12-07
MDB代碼:package com.persia.ejb;import javax.ejb.MessageDriven;import javax.ejb.ActivationConfigProperty;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageListener;import javax.jms.TextMessage;@MessageDriven(
Time of Update: 2018-12-07
1.配置JBOSS伺服器2.new EJB project建立項目3.建立EJB—》new interface,然後new class實作類別,xxxBean命名。4.註解配置EJB:xxxBean類型:@stateful或@stateless和@remote或@local5.部署EJB。查看JBOSS\SERVER\DEFAULT\DEPLOY裡面部署的EJB.6.開發EJB用戶端: (1)new java project
Time of Update: 2018-12-07
@MessageDriven( activationConfig={ @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName="destination",propertyValue="queue/myqueue") }
Time of Update: 2018-12-07
根類一張表,將所有子類的屬性都合并到根類中,此外還需要一個欄位用於區分子類的類型。company:package com.persia.singletable;import java.io.Serializable;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Entity;import
Time of Update: 2018-12-07
1.通過getReference()捕獲異常Customer customer=null;try{ customer=em.getReference(Customer.class,new Integer(1));}catch(EntityNotFoundException e){ //自訂捕獲異常} 2.同步資料庫 當調用persist,merge,remove方法時只是改變了實體所處的狀態,但並沒有儲存到資料庫當中。
Time of Update: 2018-12-07
需要jbossall-client.jar包和相關的ejb介面和類的jar包(或將ejb項目添加為依賴項目)修改tomcat連接埠找到Tomcat \conf\server.xml檔案,然後找到下面的代碼: port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443
Time of Update: 2018-12-07
更改配置:D:\DevelopTool\jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer\META-INF下的jboss-service.xml下找到<attribute name="UseJBossWebLoader">false</attribute> <!-- The list of package prefixes that should not be loaded without
Time of Update: 2018-12-07
mappedBy:1.表明是雙向關聯2.在一對多中避免產生中間表,在不使用mappedBy的一方,即多方設外鍵來與一方關聯3.雙向關係中的反向端必須使用@OneToOne、@OneToMany、@ManyToMany註解中的mappedBy元素來引用持有端的關聯屬性。 mappedBy元素標註了關係持有人的關係範圍或屬性;--------------------------------------------------------------------------------------
Time of Update: 2018-12-07
在實體BEAN中,互相之間的關係有七種,分別是如下七種 1,一對一單向 2,一對一雙向 3,一對多單向 4,一對多雙向 5,多對一單向 6,多對多單向 7,多對多雙向大家可能發現,為什麼沒有多對一雙向呢?其實多對一的雙向,就是一對多的雙向,道理是一樣的.1.一對一單向 之間的關係的客戶和一個地址。您清楚地希望能夠尋找客戶的地址,但你可能不關心尋找一個地址的客戶。 2.一對一雙向
Time of Update: 2018-12-07
1.開發實體類package com.persia.jpa;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class Person {private int id;private String name;@Id@GeneratedValuepublic int getId() {return id;}public
Time of Update: 2018-12-07
訂單:package com.persia.jpa.otm;import java.io.Serializable;import java.util.Date;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.FetchType;import