Junky's IT Notebook

          統(tǒng)計(jì)

          留言簿(8)

          積分與排名

          WebSphere Studio

          閱讀排行榜

          評(píng)論排行榜

          hibernate對(duì)視圖的操作

          ????? 由于視圖沒(méi)有主鍵,所以在用hibernate對(duì)視圖操作就需要做點(diǎn)處理了,網(wǎng)上搜了一通也沒(méi)能找到相關(guān)文章,后來(lái)突然想到了myeclipse可以幫助生成hibernate的配置文件和對(duì)應(yīng)的pojo代碼。
          ????? 打開(kāi)myeclipse,選擇相關(guān)的視圖,生成了配置文件和pojo類,發(fā)現(xiàn)pojo類生成了兩個(gè),而配置文件卻一個(gè),參看了配置文件和類,明白了是怎么回事。生成的配置文件通過(guò)了組合的方式生成,所以會(huì)對(duì)應(yīng)兩個(gè)類,一個(gè)類主要存放id信息,以個(gè)類存放對(duì)應(yīng)的字段信息。
          ????? 下面是生成的類和配置文件:
          類:
          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>
          這樣就可以通過(guò)AllTablePb.getId()取得相關(guān)的信息。
          ????? 感覺(jué)myeclipse的確不錯(cuò),特別是對(duì)于使用hibernate還不是非常熟練的人來(lái)說(shuō),通過(guò)它可以幫解決不少問(wèn)題。
          ????? 通過(guò)這樣對(duì)視圖的操作,同樣也可以用到對(duì)于那些沒(méi)有定義主鍵的表,操作方法是一樣的。
          ????? 呵呵,個(gè)人的一點(diǎn)體會(huì),歡迎大家多提意見(jiàn)。

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

          評(píng)論

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

          那你是如何 取得數(shù)據(jù)庫(kù)中某個(gè)字段值得呢。
          我的 <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>
          我想取得 數(shù)據(jù)庫(kù)id號(hào)的最大值,有沒(méi)有直接的sql語(yǔ)句呢  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 周至县| 天镇县| 东光县| 晋州市| 大邑县| 灵武市| 新河县| 中阳县| 涞水县| 乌兰县| 汝城县| 临猗县| 叙永县| 苏尼特左旗| 扶余县| 石嘴山市| 无棣县| 河北区| 虞城县| 阜康市| 濉溪县| 于田县| 泰宁县| 江津市| 宁蒗| 宁国市| 班玛县| 晋中市| 连城县| 中方县| 浦县| 清涧县| 沾益县| 马尔康县| 巴青县| 龙门县| 上饶市| 垣曲县| 安康市| 桂林市| 莆田市|