国产探花免费观看_亚洲丰满少妇自慰呻吟_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



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 施秉县| 临江市| 北海市| 东光县| 吉林省| 遂平县| 榆林市| 桑植县| 克拉玛依市| 呼图壁县| 自治县| 嘉兴市| 随州市| 洪雅县| 广西| 连云港市| 九江县| 乡宁县| 类乌齐县| 万宁市| 霞浦县| 米林县| 册亨县| 抚远县| 南丹县| 新兴县| 雷波县| 工布江达县| 承德县| 定州市| 长阳| 凤山市| 扶风县| 平顶山市| 静安区| 商洛市| 综艺| 武平县| 宁南县| 南岸区| 彝良县|