Junky's IT Notebook

          統計

          留言簿(8)

          積分與排名

          WebSphere Studio

          閱讀排行榜

          評論排行榜

          hibernate對視圖的操作

          ????? 由于視圖沒有主鍵,所以在用hibernate對視圖操作就需要做點處理了,網上搜了一通也沒能找到相關文章,后來突然想到了myeclipse可以幫助生成hibernate的配置文件和對應的pojo代碼。
          ????? 打開myeclipse,選擇相關的視圖,生成了配置文件和pojo類,發現pojo類生成了兩個,而配置文件卻一個,參看了配置文件和類,明白了是怎么回事。生成的配置文件通過了組合的方式生成,所以會對應兩個類,一個類主要存放id信息,以個類存放對應的字段信息。
          ????? 下面是生成的類和配置文件:
          類:
          public class AllTablePb implements Serializable {

          ?// Fields
          ?private AllTablePbId id;

          ?// Property accessors
          ?public AllTablePbId getId() {
          ? return this.id;
          ?}

          ?public void setId(AllTablePbId id) {
          ? this.id = id;
          ?}
          }

          public class AllTablePbId implements java.io.Serializable {

          ?// Fields

          ?private String owner;

          ?private String tableName;

          ?private String columnName;

          ?private String dataType;

          ?private String pbcCnam;

          ?private String pbcCmnt;

          ?// Property accessors

          ?public String getOwner() {
          ? return this.owner;
          ?}

          ?public void setOwner(String owner) {
          ? this.owner = owner;
          ?}

          ?public String getTableName() {
          ? return this.tableName;
          ?}

          ?public void setTableName(String tableName) {
          ? this.tableName = tableName;
          ?}

          ?public String getColumnName() {
          ? return this.columnName;
          ?}

          ?public void setColumnName(String columnName) {
          ? this.columnName = columnName;
          ?}

          ?public String getDataType() {
          ? return this.dataType;
          ?}

          ?public void setDataType(String dataType) {
          ? this.dataType = dataType;
          ?}

          ?public String getPbcCnam() {
          ? return this.pbcCnam;
          ?}

          ?public void setPbcCnam(String pbcCnam) {
          ? this.pbcCnam = pbcCnam;
          ?}

          ?public String getPbcCmnt() {
          ? return this.pbcCmnt;
          ?}

          ?public void setPbcCmnt(String pbcCmnt) {
          ? this.pbcCmnt = pbcCmnt;
          ?}

          }

          配置文件:
          <hibernate-mapping>
          ?<class name="com.hhkj.workflow.bean.AllTablePb" table="V_ALLTAB_PB" schema="CANP">
          ? <composite-id name="id" class="com.hhkj.workflow.bean.AllTablePbId">
          ?? <key-property name="owner" type="string">
          ??? <column name="OWNER" length="30" />
          ?? </key-property>
          ?? <key-property name="tableName" type="string">
          ??? <column name="TABLE_NAME" length="30" />
          ?? </key-property>
          ?? <key-property name="columnName" type="string">
          ??? <column name="COLUMN_NAME" length="30" />
          ?? </key-property>
          ?? <key-property name="dataType" type="string">
          ??? <column name="DATA_TYPE" length="106" />
          ?? </key-property>
          ?? <key-property name="pbcCnam" type="string">
          ??? <column name="PBC_CNAM" length="30" />
          ?? </key-property>
          ?? <key-property name="pbcCmnt" type="string">
          ??? <column name="PBC_CMNT" length="254" />
          ?? </key-property>
          ? </composite-id>
          ?</class>
          </hibernate-mapping>
          這樣就可以通過AllTablePb.getId()取得相關的信息。
          ????? 感覺myeclipse的確不錯,特別是對于使用hibernate還不是非常熟練的人來說,通過它可以幫解決不少問題。
          ????? 通過這樣對視圖的操作,同樣也可以用到對于那些沒有定義主鍵的表,操作方法是一樣的。
          ????? 呵呵,個人的一點體會,歡迎大家多提意見。

          posted on 2006-06-02 00:17 junky 閱讀(823) 評論(1)  編輯  收藏 所屬分類: hibernate

          評論

          # re: hibernate對視圖的操作 2006-06-18 05:56 阿花

          那你是如何 取得數據庫中某個字段值得呢。
          我的 <hibernate-mapping>
          <class name="com.darkrainnight.base.adminuserinfo.AdminUserInfo" table="admin_user_info" catalog="rain">
          <composite-id name="id" class="com.darkrainnight.base.adminuserinfo.AdminUserInfoId">
          <key-property name="id" type="string">
          <column name="id" length="4" />
          </key-property>
          <key-property name="username" type="string">
          <column name="username" length="10" />
          </key-property>
          <key-property name="reason" type="string">
          <column name="reason" />
          </key-property>
          <key-property name="email" type="string">
          <column name="email" length="80" />
          </key-property>
          <key-property name="createDate" type="date">
          <column name="create_date" length="10" />
          </key-property>
          </composite-id>
          </class>
          </hibernate-mapping>
          我想取得 數據庫id號的最大值,有沒有直接的sql語句呢  回復  更多評論   

          主站蜘蛛池模板: 甘南县| 永川市| 龙岩市| 墨脱县| 江永县| 达尔| 信宜市| 玛多县| 林口县| 禹城市| 松潘县| 荔浦县| 那曲县| 格尔木市| 华宁县| 中江县| 菏泽市| 射阳县| 普洱| 白沙| 莎车县| 星子县| 富蕴县| 时尚| 唐河县| 虞城县| 灯塔市| 武邑县| 广宁县| 江城| 汉川市| 利津县| 葫芦岛市| 姚安县| 哈尔滨市| 云浮市| 娄底市| 蕲春县| 万年县| 天全县| 枝江市|