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 閱讀(816) 評論(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語句呢  回復  更多評論   

          主站蜘蛛池模板: 西林县| 万安县| 新邵县| 永嘉县| 乐业县| 宁晋县| 东城区| 离岛区| 远安县| 青阳县| 安国市| 涟源市| 宁都县| 留坝县| 肥城市| 育儿| 石狮市| 太保市| 响水县| 玛多县| 大庆市| 湄潭县| 阿拉善右旗| 交城县| 漠河县| 南康市| 肥城市| 彭山县| 仁寿县| 灵山县| 通榆县| 辽阳县| 淳安县| 博野县| 伊宁县| 昭觉县| 嘉兴市| 清水河县| 巴里| 兰坪| 巫山县|