新聞中心
在開發(fā)使用Hibernate框架應(yīng)用程序中,無外乎要?jiǎng)?chuàng)建hibernate.cfg.xml,xxx.hbm.xml,pojos和databaseSchema這些文件,框架這東西剛開始學(xué)會(huì)的時(shí)候,都是心情舒暢,熱情高漲,所有文件都是自己手寫不管這樣重復(fù)性的工作有多么的乏味,愛情都會(huì)由低潮期更別說重復(fù)Coding了,久而久之在編寫一個(gè)個(gè)xml、pojo和schema的過程中,不由從心中產(chǎn)生一種不舒暢之氣。

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括桑日網(wǎng)站建設(shè)、桑日網(wǎng)站制作、桑日網(wǎng)頁制作以及桑日網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,桑日網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到桑日省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
我曾經(jīng)有一段時(shí)間見到代碼文件就有想吐的沖動(dòng),不過還好我還是挺過來,嘛也就是像愛情麻木期一樣,怎么都無所謂了。直到最近了解到Ant這個(gè)工具,讓我看到了另一種發(fā)開Hibernate應(yīng)用程序的方式,并不是說這樣的開發(fā)方式就一定好于純手工編寫,適合自己才是***的,但我是一個(gè)比較愛偷懶的,自動(dòng)化構(gòu)建非常的吸引我。開頭字?jǐn)?shù)湊夠了就進(jìn)入正題了,首先直接上build.xml,這個(gè)文件是ant所需要的。
build.properties文件:
- source_folder_dir=src
- reference_libs_dir=referencelibs
- database_schema_dir=dbschema
這是項(xiàng)目最開始的狀態(tài):
此時(shí)項(xiàng)目中僅僅只是定義了cfg和hbm文件,數(shù)據(jù)庫schema和pojo都沒有定義,"referencelibs"中存放的是該程序要成功需要的依賴庫文件。運(yùn)行Ant,此時(shí)項(xiàng)目的狀態(tài):
可以看到,我們的需要的pojo類和schema都生成好了,其實(shí)按照我的build.xml設(shè)置,數(shù)據(jù)庫已經(jīng)直接設(shè)置到了兩張表了。驗(yàn)證器正確性:
Customer.hbm.xml:
Customer.java
- package com.beliefbetrayal.hibernate.pojos;
- // Generated 2012-2-8 1:10:59 by Hibernate Tools 3.3.0.GA
- import java.util.HashSet;
- import java.util.Set;
- /**
- * Customer generated by hbm2java
- */
- public class Customer implements java.io.Serializable {
- private String id;
- private String username;
- private Integer balance;
- private Set
orders = new HashSet (0); - public Customer() {
- }
- public Customer(String username, Integer balance, Set
orders) { - this.username = username;
- this.balance = balance;
- this.orders = orders;
- }
- public String getId() {
- return this.id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getUsername() {
- return this.username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public Integer getBalance() {
- return this.balance;
- }
- public void setBalance(Integer balance) {
- this.balance = balance;
- }
- public Set
getOrders() { - return this.orders;
- }
- public void setOrders(Set
orders) { - this.orders = orders;
- }
- }
可以看到,我們借助Ant生成的POJO完全沒問題??纯磾?shù)據(jù)庫Schema:
- create table customer (
- id varchar(255) not null,
- username varchar(255),
- balance integer,
- primary key (id)
- );
- create table orders (
- id varchar(255) not null,
- orderNumber varchar(255),
- cost integer,
- customer_id varchar(255),
- primary key (id)
- );
- alter table orders
- add index FKC3DF62E51E0069B1 (customer_id),
- add constraint FKC3DF62E51E0069B1
- foreign key (customer_id)
- references customer (id);
使用Ant自動(dòng)化開發(fā)Hibernate需要hibernate-tools.jar包。我將項(xiàng)目整理了一下可以下載參考項(xiàng)目下載。
名稱欄目:使用Ant自動(dòng)化發(fā)開Hibernate
當(dāng)前URL:http://m.5511xx.com/article/cdghdgd.html


咨詢
建站咨詢
