夢開始的地方

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            4 隨筆 :: 0 文章 :: 3 評論 :: 0 Trackbacks

          2006年9月20日 #

           Hibernate 的 一對一因映射關系,one-to-one的配置,有一些疑問
           舉例說明
          ?? Person.java
          ? class Person{
          ??private Mark mark;
          ? private int personId;
          ??private name;
          ?//get 和 set 方法深省略

          }
          ??
          ?Mark.java
          class Mark{
          private int markid;
          private Person;
          //get和 set方法省略
          }
          //映射文件
          Person.hbm.xml
          <class name="test.Person" table="person">
          ?<id name="personId" type="integer">
          ??????????? <column name="personId" />
          ??????????? <generator class="increment" />
          ??? </id>
          <one-to-one name="address" class="test.Mark" cascade="save-update" />
          </class>


          Mark.hbm.xml
          <class name="test.Mark" table="mark">
          ??<id name="markId" type="integer">
          ??????????? <column name="addressId" />
          ??????????? <generator class="increment" />
          ??</id>
          <one-to-one name="address" class="test.Person" />
          </class>

          我的需求是:
          增加或者修改表person表時,同時更新表mark表內容,而且不使用共享主鍵,每個表都有獨立的主鍵,我這樣配置時,始終報錯,希望高手指點~在線等
          posted @ 2006-10-17 18:42 Dushengjun 閱讀(371) | 評論 (0)編輯 收藏

          ?????? 在使用windows系統時,我們會發現,一種類型的文件總是可以用指定的應用程序打開,如:doc文件,雙擊可以打開文件,在使用delphi開發應用程序時,同樣需要實現上邊的功能,其核心就獲取系統當前的文件,而ParamStr函數起到了非常重要的作用,先面我們簡單用 Delphi開發以個應用程序來說明問題:
          首先,用 delphi新建立一個工程,然后分別創建窗體MainFrm,MyMDIChildForm,添加相應的控件,如下圖

          ?????????? ?
          ?????????????????????????????????????? ??? MainFrm

          ???????????????
          ????????????????????????????????????????? ? MyMDIChildForm



          代碼如下:
          Unit1.pas(對應于MainFrm窗體)
          unit Unit1;

          interface

          uses
          ? Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
          ? Dialogs, Menus,Unit2, ComCtrls;

          type
          ? TMainFrm = class(TForm)
          ??? MainMenu1: TMainMenu;
          ??? ItemNew: TMenuItem;
          ??? N1: TMenuItem;
          ??? N2: TMenuItem;
          ??? N3: TMenuItem;
          ??? OpenDialog1: TOpenDialog;
          ??? StatusBar1: TStatusBar;
          ??? procedure ItemNewClick(Sender: TObject);
          ??? procedure N3Click(Sender: TObject);
          ??? procedure FormShow(Sender: TObject);
          ??? function CreateMDI():TMyMDIChildForm;
          ? private
          ??? { Private declarations }
          ? public
          ??? { Public declarations }
          ? end;

          var
          ? MainFrm: TMainFrm;

          implementation


          {$R *.dfm}

          procedure TMainFrm.ItemNewClick(Sender: TObject);
          var
          child: TMyMDIChildForm;
          begin
          ?child:= TMyMDIChildForm.create(Self);
          end;

          procedure TMainFrm.N3Click(Sender: TObject);

          begin
          ? if opendialog1.Execute then
          ?? begin

          ????? CreateMDI.RichEdit1.Lines.LoadFromFile(opendialog1.FileName);
          ????? Self.StatusBar1.Panels[1].Text:=opendialog1.FileName;
          ?? end;

          end;

          procedure TMainFrm.FormShow(Sender: TObject);
          var
          ?FileName:String;
          begin
          ?? FileName:=ParamStr(1);
          ?? if FileExists(FileName) then
          ??? begin
          ????? CreateMDI.RichEdit1.Lines.LoadFromFile(FileName);
          ??? end;
          end;

          ?

          function TMainFrm.CreateMDI: TMyMDIChildForm;
          var
          child: TMyMDIChildForm;
          begin
          ??? child:= TMyMDIChildForm.create(Self);
          ??? Result:=child;
          end;

          end.
          unit2.pas(對應于MyMDIChildForm窗體)
          unit Unit2;

          interface

          uses
          ? Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
          ? Dialogs, StdCtrls, ComCtrls;

          type
          ? TMyMDIChildForm = class(TForm)
          ??? RichEdit1: TRichEdit;
          ??? procedure FormClose(Sender: TObject; var Action: TCloseAction);
          ? private
          ??? { Private declarations }
          ? public
          ??? { Public declarations }
          ? end;

          var
          ? MyMDIChildForm: TMyMDIChildForm;

          implementation

          {$R *.dfm}

          procedure TMyMDIChildForm.FormClose(Sender: TObject;
          ? var Action: TCloseAction);
          begin
          ?Action:=caFree;
          end;

          end.
          這樣我們實現了一個簡單的記事本程序,運行結果如下圖:


          ??????????????


          然后,我們將工程保存,并生成最終的EXE文件,然后我們在Windows系統目錄任意創建一個文件,
          如下圖ResumeAction.java文件

          ?????????????????????????

          然后將它的打開方式設置成我們自己的可執行程序
          ???????????????????????????????????

          然后再雙擊此文件,程序正確運行,并將它打開了!
          ????????????

          程序的核心就是paramStr函數,它獲得了系統接口,得到了當前的文件名稱!

          點擊下載

          posted @ 2006-09-20 22:00 Dushengjun 閱讀(608) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 蓬溪县| 福安市| 德钦县| 怀远县| 新邵县| 仪征市| 元江| 汤原县| 新田县| 临泽县| 磴口县| 启东市| 桂平市| 大悟县| 德阳市| 民权县| 巴塘县| 巴东县| 高邮市| 三河市| 花莲县| 云龙县| 防城港市| 荆州市| 禹州市| 十堰市| 呼图壁县| 张家港市| 留坝县| 左权县| 新源县| 新野县| 祥云县| 青浦区| 洛川县| 五家渠市| 新民市| 黄冈市| 汉阴县| 左云县| 徐州市|