国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

EJB 3.0開發指南之使用實體Bean

2019-11-18 15:47:39
字體:
來源:轉載
供稿:網友

  在上面一個例子中,實體Bean的屬性對應到數據表中的列,都是采用默認的設置。通過Column,你可以為屬性指定數據表中的列名。
Column的聲明如下:

@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
public @interface Column {
 String name() default "";
 boolean PRimaryKey() default false;
 boolean unique() default false;
 boolean nullable() default true;
 boolean insertable() default true;
 boolean updatable() default true;
 String columnDefinition() default "";
 String secondaryTable() default "";
 int length() default 255;
 int precision() default 0;
 int scale() default 0;
 boolean specified() default true; // For internal use only
}
  EntityManager 是用來處理實體Bean的輔助類。它可以用來產生/刪除持久化的實體Bean,通過主鍵查找實體bean,通過查詢語言來查詢實體Bean。

  下面是EntityManager接口的聲明:

package javax.ejb;

import java.sql.Connection;
/**
* 用來和持久化上下文交互的接口
*/

public interface EntityManager {

 /**
 * 使實體bean受持久化治理
 * @param entity
 */

 public void create(Object entity);
 
 /**
 * 將給定的實體Bean的狀態和持久化上下文結合。類似數據庫的更新操作。
 * @param entity
 * @return 被結合的實體實例
 */

 public <T> T merge(T entity);

 /**
 * 刪除實例
 * @param entity
 */

 public void remove(Object entity);
 /**
 * 根據主鍵查找.
 * @param entityName
 * @param primaryKey
 * @return 查詢實例
 */

 public Object find(String entityName, Object primaryKey);
 /**
 * 根據主鍵查找
 * @param primaryKey
 * @return 查詢實例
 */

 public <T> T find(Class<T> entityClass, Object primaryKey);
 /**
 * 持久化上下文與底層數據庫的同步
 */

 public void flush();
 /**
 * 執行一個EJBQL查詢
 * @param ejbqlString EJBQL查詢語句
 * @return the new query instance
 */

 public Query createQuery(String ejbqlString);
 /**
 * 執行命名的查詢
 * @param name 預定義的查詢名稱
 * @return 查詢實例
 */

 public Query createNamedQuery(String name);
 /**
 * 執行一個本地SQL查詢語句
 * @param sqlString 本地查詢語句
 * @return 返回查詢實例
 */

 public Query createNativeQuery(String sqlString);
 /**
 * 更新到數據庫中
 * @param entity
 */

 public void refresh(Object entity);
 /**
 * 持久化上下文中刪除實體
 * @param entity
 */

 public void evict(Object entity);
 /**
 * 檢查當前上下文中是否包含此實體
 * context.
 * @param entity
 * @return
 */

 public boolean contains(Object entity);
}

  @JoinColumns

  用來指示符合主鍵,在后面的章節中介紹。

   這個例子主要有以下幾個文件,這個例子主要實現了治理學生分數的功能。Student是一個實體Bean,治理學生的基本信息(姓名和各課分數),其中學生的分數又是一個實體Bean。TacherBean是一個無狀態的會話Bean,用來調用實體Bean。和前面的例子一樣,我們還是使用Client測試。

  ·Student.java:實體Bean。

  ·Score.java:實體Bean。

  ·Teacher.java:會話Bean的業務接口

  ·TeacherBean.java:會話Bean的實現類

  ·Client.java:測試EJB的客戶端類。

  ·jndi.properties:jndi屬性文件,提供訪問jdni的基本配置屬性。

  ·Build.xml:ant 配置文件,用以編譯、發布、測試、清除EJB。

  下面針對每個文件的內容做一個介紹。

  Student.java



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳城县| 新宾| 榆中县| 汽车| 寿光市| 开平市| 大庆市| 上高县| 赣州市| 德格县| 萨嘎县| 玛纳斯县| 华池县| 隆林| 樟树市| 北流市| 聂拉木县| 柘城县| 武义县| 香河县| 云南省| 来宾市| 柏乡县| 兴山县| 衡东县| 临沭县| 通海县| 江油市| 贡嘎县| 卢龙县| 唐山市| 澄城县| 凯里市| 达州市| 广水市| 宜兴市| 佛学| 怀宁县| 靖江市| 泸溪县| 彝良县|