锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国产专区91在线,亚洲码一区二区三区,丰满亚洲大尺度无码无码专线http://www.tkk7.com/luluyanglu/category/38321.htmlzh-cnMon, 26 Oct 2009 14:22:44 GMTMon, 26 Oct 2009 14:22:44 GMT60ejb3絎旇 http://www.tkk7.com/luluyanglu/archive/2009/10/20/299008.html澶ч奔澶ч奔Tue, 20 Oct 2009 04:34:00 GMThttp://www.tkk7.com/luluyanglu/archive/2009/10/20/299008.htmlhttp://www.tkk7.com/luluyanglu/comments/299008.htmlhttp://www.tkk7.com/luluyanglu/archive/2009/10/20/299008.html#Feedback0http://www.tkk7.com/luluyanglu/comments/commentRss/299008.htmlhttp://www.tkk7.com/luluyanglu/services/trackbacks/299008.htmlhibernate_ejb3絎旇    1銆佺敤MyEclipse閫氳繃榪炴帴鍒版暟鎹簱錛屽彲浠ョ敓鎴怘ibernate闇瑕佺殑POJO鍜屽搴旂殑鏄犲皠鏂囦歡銆備絾鏄垜鐢熸垚鐨刪bm.xml鏈夐棶棰橈紝浼氭姤閿?could not load an entity"銆傚悗鏉ユ壘鍒頒簡鍏冨嚩
<class name="hbm.pojo.Misuser" table="misuser" schema="informix" catalog="zzymis">
鎶奵atalog="zzymis"鍘繪帀灝監K浜嗐?br />
   2銆丠ibrenate淇濆瓨鏁版嵁澶辮觸
   濡傛灉蹇樿鎻愪氦浜嬪姟浼氬鑷存暟鎹繚瀛樻垨鑰呮洿鏂板け璐ワ紝姝g‘浠g爜濡備笅錛?br />    HibernateSessionFactory. getSession().beginTransaction();
   
new hbm.pojo.StudySubjectDAO().merge(subject);
   HibernateSessionFactory. getSession().flush();
   HibernateSessionFactory. getSession().getTransaction().commit();

   3銆丠ibernate涓瀵瑰鐨勯厤緗?
鏈濂戒嬌鐢ㄥ弻鍚戝叧鑱旓紙鍋囪Main->Detail錛?br /> 1錛塎ain.java涓姞鍏ワ細
   
private Set< Detail > detail=new HashSet();
   鐒跺悗鍔犲叆get()鍜宻et()鏂規硶錛?br />
2錛塂etail.java涓姞鍏ワ細
   
private Main main錛?br />    鐒跺悗鍔犲叆get()鍜宻et()鏂規硶錛涘彟澶栧埆蹇樹簡閲嶅啓equals()鏂規硶
    
public boolean equals(Object object) {
        
if (object == null || !this.getClass().equals(object.getClass())) {
            
return false;
        }

        Detail other 
= (Detail)object;
        
if(other.id==null||this.id==null)
            
return false;
        
if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) 
        
return false;
        
return true;
    }

3錛塎ain.hbm.xml涓姞鍏ワ細
   
<set name="detail" inverse="true" cascade="all">
         
<key column="mainId"></key>
         
<one-to-many class=" Detail"/>
   
</set>
4)Detail.hbm.xml涓姞鍏ワ細
   
<many-to-one name=" main " class=" Main" column=" mainId">
   
</many-to-one>
   鍚屾椂鎶妋ainId瀵瑰簲鐨?/span><property>……</property>鍒犳帀
5錛夋搷浣滐細
   鍙屽悜璁劇疆錛氾紙璋冪敤setMain()setDetail()錛?/span>

   4銆丒JB涓殑getSingleResult()鏂規硶
    鏌ユ壘榪斿洖涓涓粨鏋?鏄敮涓鐨勪竴涓粨鏋滐紝褰揼etSingleResult()涓柟娉曡璋冪敤鏃舵墽琛屾煡璇€傚鏋滄病鏈夌粨鏋滆繑鍥?榪欎釜鏂規硶灝嗕細鎶涘嚭javax.persistence.EntityNotFoundException榪愯寮傚父.濡傛灉鎵懼埌澶氫簬涓涓粨鏋? javax.persistence.NonUniqueResultException寮傚父灝嗕細鍦ㄨ繍琛屾湡闂存姏鍑?鍥犱負榪欎袱涓紓甯擱兘鏄疪untimeException,渚嬪瓙涓殑浠g爜涓嶉渶瑕佸畬鏁寸殑try/catch鍧椼?br />
   5銆丠ibernate3鐨勮В鍐充腑鏂囨煡璇㈤棶棰?
   濡傛灉鐩存帴鎶婃煡璇㈢殑鍙傛暟鏀懼埌sql璇彞涓槸鏌ヤ笉鍑烘潵鐨勶紝姣斿錛?br />    Query query=em.createQuery("select u from User u where u.name like '%"+myName+"%'"); 
   鍙互浣跨敤鍗犱綅絎︽垨鑰呰緗弬鏁扮殑鏂規硶鏉ユ煡璇紝渚嬪錛?br />    
1)Query query=em.createQuery("select u from User u where u.name like ? "); 
     query.setString(
0,"%"+myName+"%");
   
2)Query query=em.createQuery("select u from User u where u.name like :name");
     query.setString("name","
%"+myName+"%");

   6銆丩ike鐨勫叾浠栫敤娉曪紙姝e垯錛?
   like '_heryl' 錛氭悳绱互瀛楁瘝 heryl 緇撳熬鐨勬墍鏈夊叚涓瓧姣嶇殑鍚嶇О錛堝 Cheryl銆丼heryl錛夈?br />    like '[CK]ars[eo]n' 錛氭悳绱笅鍒楀瓧絎︿覆錛欳arsen銆並arsen銆丆arson 鍜?nbsp;Karson錛堝 Carson錛夈?br />    like '[M-Z]inger' 錛氭悳绱互瀛楃涓?nbsp;inger 緇撳熬銆佷互浠嶮鍒癦鐨勪換浣曞崟涓瓧姣嶅紑澶寸殑鎵鏈夊悕縐板 銆?br />    like 'M[^c]%' 錛氭悳绱互瀛楁瘝 M 寮澶達紝騫朵笖絎簩涓瓧姣嶄笉鏄?nbsp;c 鐨勬墍鏈夊悕縐幫紙濡?nbsp;MacFeather錛夈?nbsp;

   7銆佷竴瀵瑰(one-to-many)鍒犻櫎涓嶆帀
   姣斿Main-to-Detail鏄痮ne-to-many鍏崇郴錛屽湪鏂板鐨勬椂鍊欏彲浠ラ氳繃persistMain()鍚屾椂鎶婂涓狣etail鎻掑叆鏁版嵁搴擄紝浣嗘槸濡傛灉鎯沖垹闄ゆ煇涓狹ain涓殑鏌愬嚑涓狣etail鏃訛紝濂藉儚閫氳繃mergeMain()鏄棤娉曞仛鍒扮殑錛岄氳繃mergeMain()鍙互鏇存柊Main鐨勫睘鎬э紝浣嗘槸娌″姙娉曞垹闄ょ浉搴旂殑Detail錛岃嚦灝戞垜鏄病鍔炴硶鍋氬埌銆傝繖鏃訛紝鎴戜竴鍗婇兘鏄啓涓柟娉曞崟鐙潵鍒犻櫎Detail錛屼緥濡俤eleteDetailById()鏉ヤ竴涓釜鍒犻櫎銆?br />  
   8銆佹煡璇㈣繑鍥炲涓疄浣揃ean
   1)鏌ヨ(鐪佺暐鍚庣殑浠g爜)
   @PersistenceContext(unitName
="crm")
   
private EntityManager em;
   
public List getUserinfoTrace(){
    
return em.createQuery("select new List(u,t)  from Userinfo u,Trace t where u.id=t.id").getResultList();
   }
   
2)璇誨彇(鐪佺暐鍚庣殑浠g爜)
   List
<List> result=(List<List>)remote.getUserinfoTrace();
   
for(List obj:result){
      Userinfo userinfo
=(Userinfo)result.get(0);
      Trace trace
=(Trace)result.get(1);
      ……
   }

   9銆佽緗甀D鑷
鍦ㄧ敤netbean鐢熸垚鐨勫疄浣揃ean鍚庯紝闇瑕佹墜宸ュ姞涓婅嚜澧炴敞閲婏紙@GeneratedValue(strategy = GenerationType.AUTO)錛?br /> 渚嬪錛?br /> @Id
@Column(name 
= "id", nullable = false)
@GeneratedValue(strategy 
= GenerationType.AUTO)
private Integer id;

   10銆乫ailed to lazily initialize a collection of role
   鍥犱負寤惰繜鍔犺澆瀵艱嚧鐨勶紝浣嗘槸鎴戝湪EntityBean涓嬌鐢╢etch=FetchType.EAGER鍜孎etchType.LAZY閮芥棤鏁堬紝鎴戠殑EntityBean鏄疈OneToMany錛屾渶鍚庡彧鏈夊湪SessionBean鐨勮鍙朎ntityBean鐨勬柟娉曚腑鍔犲叆錛?
   if(main.getDetails()!=null)
      main.getDetails().size();
   
return main;
   榪欐牱鎬葷畻瑙e喅闂銆?

澶ч奔 2009-10-20 12:34 鍙戣〃璇勮
]]>
EJB3 QL鏌ヨhttp://www.tkk7.com/luluyanglu/archive/2009/10/20/298924.html澶ч奔澶ч奔Tue, 20 Oct 2009 01:09:00 GMThttp://www.tkk7.com/luluyanglu/archive/2009/10/20/298924.htmlhttp://www.tkk7.com/luluyanglu/comments/298924.htmlhttp://www.tkk7.com/luluyanglu/archive/2009/10/20/298924.html#Feedback0http://www.tkk7.com/luluyanglu/comments/commentRss/298924.htmlhttp://www.tkk7.com/luluyanglu/services/trackbacks/298924.html
EJB3鐨勬煡璇㈣璦鏄竴縐嶅拰SQL闈炲父綾諱技鐨勪腑闂存у拰瀵硅薄鍖栨煡璇㈣璦銆傚畠鍙互琚紪璇戞垚涓嶅悓鐨勫簳灞傛暟鎹簱鑳芥帴鍙楃殑SQL錛屼粠鑰屽睆钄戒笉鍚屾暟鎹簱鐨勫樊寮傦紝紜繚鐢‥JB3 QL鏌ヨ璇█緙栧啓鐨勪唬鐮佸彲鍦ㄤ笉鍚岀殑鏁版嵁搴撲笂榪愯銆傛瘮璧?span class="hilite1">EJB 2.1鐨勬煡璇㈣璦錛孍JB3鍙互榪愯鏈熸瀯閫狅紝鏀寔澶氭侊紝榪滆繙姣?span class="hilite1">EJB 2.1鐨勬煡璇㈡洿鐏墊椿鍜屽姛鑳藉己澶с傚湪紼嬪簭涓嬌鐢‥JB3 QL鍙互浣跨敤澶у啓(SELECT)鎴栬呭皬鍐?select)錛屼絾涓嶈澶у皬鍐?姣斿:Select)娣峰悎浣跨敤銆?
銆銆銆
Query鎺ュ彛

javax.persistence.Query鏄疎JB3鏌ヨ鎿嶄綔鐨勬帴鍙c傝繘琛屾煡璇紝棣栧厛瑕侀氳繃EntityManager 鑾峰緱Query瀵硅薄銆?

               
    public Query createQuery(String ejbqlString);                
               
           

涓嬮潰鎴戜滑鍋氫竴涓渶綆鍗曠殑鏌ヨ錛屾煡璇㈡墍鏈夌殑com.redsoft.samples.Order綾匯?

               
    final Query query = entityManager.createQuery( "select o from Order o");
    final List result = query.getResultList();
    final Iterator iterator = result.iterator();
    while( iterator.hasNext() ){
        //銆澶勭悊Order
    }
               
           

娉ㄦ剰"from Order"銆?Order"鍦‥JB3鏌ヨ涓О涓篶om.redsoft.samples.Order綾葷殑abstract schema Type銆傛煡璇ntity鍦‥JB3 QL涓兘鏄拡瀵笶ntity鐨凙bstract Schema Type榪涜鏌ヨ銆傚湪鍚屼竴涓狤ntityManagerFactory涓紝涓嶅厑璁稿悓鏃舵湁涓や釜Abstract Schema Type鐩稿悓鐨凟ntity綾匯傛瘮濡備笉鍏佽鍚屾椂鏈塩om.redsoft.samples.Order鍜宑om.redsoft.foo.Order銆傘銆

Query榪斿洖涓涓狶ist鐨勯泦鍚堢粨鏋滐紝鎴戜滑鍙互鐢↖terator鎴栬匧ist.get( int )鐨勬柟娉曟潵鑾峰緱姣忎釜絎﹀悎鏉′歡鐨凟ntity銆侺iberator EJB3 Persistence榪愯鐜鐨凲uery鏌ヨ鍦ㄦ瀯閫燪uery鐨勬椂鍊欑殑鍙槸鎶奅JB3 QL緙栬瘧鎴愮浉搴旂殑SQL錛屼絾騫朵笉鎵ц銆傚彧鏈夊綋搴旂敤浠g爜絎竴嬈¤皟鐢↖terator.next(),Iterator.hasNext()鎴栬?List.get( int )鏂規硶鐨勬椂鍊?緙栬瘧鍚庣殑SQL鎵嶄細琚湡姝g殑鎵ц銆?

鍦↙iberator EJB3 Persistence榪愯鐜榪斿洖鐨勭粨鏋滈泦鍚堜腑錛屽茍涓嶄繚瀛樻墍鏈夌殑緇撴灉錛岃屽彧鏄繚鎸佷竴涓寚鍚慗DBC ResultSet鎴栬呯紦瀛楻esultSet鐨勪竴涓(row)鎸囬拡銆傚彧鏈夊綋鐢ㄦ埛紜疄闇瑕佽幏寰桬ntity瀹炰緥鐨勬椂鍊欙紝鎵嶄細浠嶳esultSet涓幏鍙栨暟鎹茍濉厖鍒癊ntity瀹炰緥涓繑鍥炵粰搴旂敤銆?

濡傛灉鏌ヨ緇撴灉緇撳悎涓寘鍚墍鏈夌鍚堟潯浠剁殑Entity, Liberator EJB3 Persistence榪愯鐜榛樿浼氳嚜鍔ㄧ紦瀛樻瘡嬈℃煡璇㈢殑緇撴灉銆傝繖鏍蜂笅嬈″悓鏍風殑鏌ヨ鎿嶄綔灝辨棤闇璁塊棶鏁版嵁搴擄紝鑰岀洿鎺ヤ粠緙撳瓨涓繑鍥炵粨鏋滈泦鍚堛備絾濡傛灉鍦ㄤ笅嬈℃煡璇㈡搷浣滀箣鍓嶏紝鏈夐拡瀵硅緙撳瓨鐨凟ntity綾昏繘琛寀pdate/insert/delete鎿嶄綔錛屽垯緙撳瓨鐨勭粨鏋滈泦鍚堜細鑷姩琚竻絀猴紝榪欐牱涓嬫鏌ヨ灝變細浠庢暟鎹簱鑾峰緱鏁版嵁錛?紜繚鏌ヨ鎬繪槸鑾峰緱姝g‘鐨勭粨鏋滐紝閬垮厤緙撳瓨鑴忔暟鎹?

鏈夋椂鍊欐煡璇細榪斿洖嫻烽噺鐨勬暟鎹侺iberator EJB3榪愯鐜閲囩敤浜嗚嚜閫傚簲鐨勫急寮曠敤POJO綆$悊鏈哄埗錛屽彲浠ュ鐞嗘搗閲忕殑鏁版嵁銆傚湪鎴戜滑鐨勬祴璇曚腑鍜屽鎴風殑鐜鍙互澶勫崈涓囩駭鍒殑鏁版嵁閲忋備絾鍦ㄥ鐞嗗ぇ鏁版嵁閲忕殑鏃跺欙紝娉ㄦ剰鍏抽棴瀵歸泦鍚堢粨鏋滅殑緙撳瓨銆?

               
   
    // 鍋囪榪斿洖鐨勭粨鏋滄暟閲忓法澶?
    final Query query = entityManager.createQuery( "select o from Order o");
   
    // 鍏抽棴瀵規煡璇㈢粨鏋滅殑緙撳瓨
    query.setHint( Constants.QUERY_RESULT_CACHE, "false");
    final List result = query.getResultList();
    final Iterator iterator = result.iterator();
   
    // 榪欓噷鎴戜滑鍙互澶勭悊嫻烽噺鐨勬暟鎹?
    while( iterator.hasNext() ){
        //銆澶勭悊Order
    }
               
           

銆銆
綆鍗曟煡璇?
涓嬮潰鏄竴涓畝鍗曟煡璇㈢殑渚嬪瓙錛屽彲浠ョ湅鍒板拰SQL鐨勪嬌鐢ㄦ柟娉曞緢綾諱技銆?

               
    final Query query = entityManager.createQuery( "select o from Order o where o.id = 1");
   
    final Query query = entityManager.createQuery( "select o from Order o where o.id = 1 and o.confirm = 'true' ");
   
    final Query query = entityManager.createQuery( "select o from Order o where o.id = 1 or o.customer = 'foo' ");
   
   
    // address鏄疧rder綾諱笂鐨勪竴涓璞″彉閲忓睘鎬э紝Address鏈変竴涓猻treetNumber鐨勫睘鎬?
    final Query query = entityManager.createQuery( "select o from Order o where o.address.streetNumber >= 123" );

             
   

娉ㄦ剰鏉′歡璇彞涓煡璇㈢殑鏄疎ntity鐨勫睘鎬э紝灞炴х殑鍚嶅瓧闇瑕佸拰Entity涓殑灞炴у彉閲忓悕瀛椾竴鑷淬?
浣跨敤鍙傛暟鏌ヨ

鍙傛暟鏌ヨ涔熷拰SQL涓殑鍙傛暟鏌ヨ綾諱技銆侲JB3 QL鏀寔涓ょ鏂瑰紡鐨勫弬鏁板畾涔夋柟寮? 鍛藉悕鍙傛暟鍜屼綅緗弬鏁般傚湪鍚屼竴涓煡璇腑鍙厑璁鎬嬌鐢ㄤ竴縐嶅弬鏁板畾涔夋柟寮忋?
鍛藉悕鍙傛暟:

               
    final Query query = entityManager.createQuery( "select o from Order o where o.id = :myId");
   
    // 璁劇疆鏌ヨ涓殑鍙傛暟
    query.setParameter( "myId", 2 );
   
   
    // 鍙互浣跨敤澶氫釜鍙傛暟
    final Query query = entityManager.createQuery( "select o from Order o where o.id = :myId and o.customer = :customerName" );
       
    // 璁劇疆鏌ヨ涓殑鍙傛暟
    query.setParameter( "myId", 2 );
    query.setParameter( "customerName", "foo" );
             
   

娉ㄦ剰涓嶅厑璁稿湪鍚屼竴涓煡璇腑浣跨敤涓や釜鐩稿悓鍚嶅瓧鐨勫懡鍚嶅弬鏁般?

浣嶇疆鍙傛暟錛?

               
    final Query query = entityManager.createQuery( "select o from Order o where o.id = ?1");
   
    // 璁劇疆鏌ヨ涓殑鍙傛暟
    query.setParameter( 1, 2 );// 1琛ㄧず絎竴涓弬鏁幫紝2鏄弬鏁扮殑鍊?
   
    //鎴栬?
    final Query query = entityManager.createQuery( "select o from Order o where o.id = ?1").setParameter( 1, 2 );
       
   
    // 鍙互浣跨敤澶氫釜鍙傛暟
    final Query query = entityManager.createQuery( "select o from Order o where o.id = ?1 and o.customer = ?2" );
       
    // 璁劇疆鏌ヨ涓殑鍙傛暟
    query.setParameter( 1, 2 );
    query.setParameter( 2, "foo" );
             
   

濡傛灉鍦ㄦ湭鏉ラ渶瑕佸湪涓嶅悓鐨凟JB3 榪愯鐜涓繍琛岋紝璇蜂嬌鐢ㄤ綅緗弬鏁幫紝淇濊瘉搴旂敤鏄彲縐繪鐨勩?
鎺掑簭(order by)
涓嬮潰鏄竴涓畝鍗曟煡璇㈢殑渚嬪瓙錛屽彲浠ョ湅鍒板拰SQL鐨勪嬌鐢ㄦ柟娉曞緢綾諱技銆?ASC"鍜?DESC"鍒嗗埆涓哄崌搴忓拰闄嶅簭錛屽鏋滀笉鏄懼紡娉ㄦ槑錛孍JB3 QL涓粯璁や負asc鍗囧簭銆?

               
    // 涓嶆敞鏄庣殑璇濓紝榛樿涓篴sc涓哄崌搴?              
    final Query query = entityManager.createQuery( "select o from Order o order by o.id");
   
    final Query query = entityManager.createQuery( "select o from Order o order by o.address.streetNumber desc");// desc涓洪檷搴?
   
    final Query query = entityManager.createQuery( "select o from Order o order by o.id, o.address.streetNumber");
           
   

鏌ヨ閮ㄥ垎灞炴?
鍦ㄥ墠闈㈢殑渚嬪瓙涓紝閮芥槸瀵歸拡瀵笶ntity綾葷殑鏌ヨ錛岃繑鍥炵殑涔熸槸琚煡璇㈢殑Entity綾葷殑瀹炰綋銆侲JB3 QL涔熷厑璁告垜浠洿鎺ユ煡璇㈣繑鍥炴垜浠渶瑕佺殑灞炴э紝鑰屼笉鏄繑鍥炴暣涓狤ntity銆傚湪涓浜汦ntity涓睘鎬х壒鍒鐨勬儏鍐碉紝榪欐牱鐨勬煡璇㈠彲浠ユ彁楂樻ц兘銆?

               
    // 鐩存帴鏌ヨ鎴戜滑鎰熷叴瓚g殑灞炴?鍒楋級
    final Query query = entityManager.createQuery( "select o.id, o.customerName, o.address.streetNumber from Order o order by o.id");
   
    // 闆嗗悎涓殑涓嶅啀鏄疧rder,鑰屾槸涓涓狾bject[]瀵硅薄鏁扮粍
    final List result = query.getResultList();
   
    // 絎竴涓
    Object[] row = result.get( 0 );
   
    // 鏁扮粍涓殑絎竴涓兼槸id
    int id = Integer.parseInt( row[0].toString() );
    String customerName = row[1].toString();
    String streetNumber = Integer.parseInt( row[2].toString() );
  
           
   

鏌ヨ涓嬌鐢ㄦ瀯閫犲櫒(Constructor)
EJB3 QL鏀寔灝嗘煡璇㈢殑灞炴х粨鏋滅洿鎺ヤ綔涓轟竴涓猨ava class鐨勬瀯閫犲櫒鍙傛暟錛屽茍浜х敓瀹炰綋浣滀負緇撴灉榪斿洖銆?

               
    // 鎴戜滑鎶婇渶瑕佺殑涓変釜灞炴т綔涓轟竴涓猚lass( OrderHolder )鐨勬瀯閫犲櫒鍙傛暟錛屽茍浣跨敤new鍑芥暟銆?nbsp;              
    Query query = entityManager.createQuery("select new com.redsoft.ejb3.dummy.OrderHolder (   o.id, o.vender, o.partNumber  )  FROM Order AS o");
   
    // 闆嗗悎涓殑緇撴灉鏄疧rderHolder
    List result = query.getResultList();
           
        
   

璇ava class涓嶉渶瑕佹槸Entity Class銆侼EW瑕佹眰java class浣跨敤鍏ㄥ悕銆?
鑱氬悎鏌ヨ(Aggregation)

璞″ぇ閮ㄥ垎鐨凷QL涓鏍?EJB3 QL涔熸敮鎸佹煡璇腑鐨勮仛鍚堝嚱鏁般傜洰鍓?span class="hilite1">EJB QL鏀寔鐨勮仛鍚堝嚱鏁板寘鎷細

    * AVG
    * SUM
    * COUNT
    * MAX
    * MIN

                   
                   
    final Query query = entityManager.createQuery( "select MAX( o.id ) from Order where o.customerName='foo'");
       
    // 濡傛灉鎴戜滑鐭ラ亾緇撴灉鏄崟涓紝鎴戜滑鍙互鐢╣etSingleResult()鑾峰緱緇撴灉
    final Object result = query.getSingleResult();
       
    // 鐢變簬Order涓璱d鐨勭被鍨嬩負long,
    final Long max = (Long)result;
       
       
    // 鍦ㄤ竴浜涙暟鎹簱涓璵ax鍑芥暟榪斿洖鐨勭粨鏋滅殑綾誨瀷涓嶄竴瀹氫簬id瀵瑰簲鐨勫垪鐨勭被鍨嬬浉絎︼紝鏇村畨鍏ㄧ殑鏂瑰紡鍙互閲囩敤string鏉ヨ漿鍨?
    fina long max = Long.parseLong( result.toString() );
               
       

鑱氬悎鍑芥暟涔熷彲浠ヤ綔涓鴻鏌ヨ鐨勪竴涓睘鎬ц繑鍥炪?

                   
   
    // 榪斿洖鎵鏈夌殑璁㈠崟鐨勭敓浜у巶鍟嗗拰浠栦滑鐨勮鍗曚環鍊兼婚
    final Query query
        = entityManager.createQuery( "select o.vender, sum(o.amount) FROM Order o銆group by o.vender");");
               
       

鍜孲QL涓鏍鳳紝濡傛灉鑱氬悎鍑芥暟涓嶆槸select...from鐨勫敮涓涓涓繑鍥炲垪錛岄渶瑕佷嬌鐢?GROUP BY"璇彞銆?GROUP BY"搴旇鍖呭惈select璇彞涓櫎浜嗚仛鍚堝嚱鏁板鐨勬墍鏈夊睘鎬с?

                   
   
    // 榪斿洖鎵鏈夌殑璁㈠崟鐨勭敓浜у巶鍟嗙殑鐨勫悕瀛楋紝璐х墿鍙風爜鍜屾瘡縐嶈揣鐗╃殑璁㈠崟浠峰兼婚
    // 娉ㄦ剰group by鍚庨潰蹇呴』鍖呭惈o.vender鍜宱.partNumber
    final Query query
        = entityManager.createQuery( "select o.vender, o.partNumber, sum(o.amount) FROM Order o銆group by o.vender錛宱.partNumber");
               
       

濡傛灉榪橀渶瑕佸姞涓婃煡璇㈡潯浠訛紝闇瑕佷嬌鐢?HAVING"鏉′歡璇彞鑰屼笉鏄?WHERE"璇彞銆?

                   
   
    // 榪斿洖鎵鏈夌殑璁㈠崟鐨勭敓浜у巶鍟嗘槸"foo"鐨勮揣鐗╁彿鐮佸拰姣忕璐х墿鐨勮鍗曚環鍊兼婚
    // 榪欓噷"having o.vender = 'foo'涓烘潯浠?
    final Query query
        = entityManager.createQuery( "select o.vender, o.partNumber, sum(o.amount) FROM Order o銆
            group by o.vender錛宱.partNumber having o.vender='foo'");
       
       

鍦?HAVING"璇彞閲屽彲浠ヨ窡"WHERE"璇彞涓鏍蜂嬌鐢ㄥ弬鏁般?

                   
   
    // 榪斿洖鎵鏈夌殑璁㈠崟鐨勭敓浜у巶鍟嗘槸"foo"鐨勮揣鐗╁彿鐮佸拰姣忕璐х墿鐨勮鍗曚環鍊兼婚
    // 榪欓噷"having o.vender = 'foo'涓烘潯浠?
    final Query query
        = entityManager.createQuery( "select o.vender, o.partNumber, sum(o.amount) FROM Order o銆
            group by o.vender錛宱.partNumber having o.vender=?1");
    query.setParameter( 1, "foo" );
    final List result = query.getResultList();
       
       

鍏寵仈(join)

鍦‥JB3 QL涓紝澶ч儴鍒嗙殑鎯呭喌涓嬶紝浣跨敤瀵硅薄灞炴ч兘闅愬惈浜嗗叧鑱?join)銆備緥濡傚湪浠ヤ笅鏌ヨ涓細

               
    final Query query = entityManager.createQuery( "select o from Order o
         where o.address.streetNumber=2000 order by o.id");
  
           
   

褰撹繖涓彞EJB3 QL緙栬瘧鎴愪互涓嬬殑SQL鏃跺氨浼氳嚜鍔ㄥ寘鍚簡鍏寵仈,EJB3 QL緙栬瘧鎴怱QL鏃跺叧鑱旈粯璁ゅ彇宸﹀叧鑱?left join)銆?

   
    select o.id, o.vender, o.partNumber, o.amount, addressTable.id, addressTable.streetNumber
        from orderTable as o left join addressTable where addressTable.streetNumber = 2000
     
   

浣嗗湪涓浜涙儏鍐典笅錛屾垜浠粛鐒墮渶瑕佸鍏寵仈鍋氱簿紜殑鎺у埗銆傚洜姝JB3 QL浠嶇劧鏀寔鍜孲QL涓被浼肩殑鍏寵仈璇硶錛?

    * left out join/left join
    * inner join
    * left join/inner join fetch

left join, left out join絳変箟錛岄兘鏄厑璁哥鍚堟潯浠剁殑鍙寵竟琛ㄨ揪寮忎腑鐨凟ntiies涓虹┖銆?

               
    // 榪斿洖鎵鏈夊湴鍧涓?000鐨凮rder綰綍錛屼笉綆rder涓槸鍚︽湁OrderItem               
    final Query query = entityManager.createQuery( "select o from Order o
         left join o.orderItems where o.address.streetNumber=2000 order by o.id");
  
               
   

鐢變簬EJB3 QL榛樿閲囩敤left join銆傝繖鏍風殑鏌ヨ鍜屼互涓嬬殑EJB3 QL鍏跺疄鏄瓑浠風殑銆?

               
    // 榪斿洖鎵鏈夊湴鍧涓?000鐨凮rder綰綍錛屼笉綆rder涓槸鍚︽湁OrderItem               
    final Query query = entityManager.createQuery( "select o from Order o
          where o.address.streetNumber=2000 order by o.id");
  
               
   

闇瑕佹樉寮忎嬌鐢╨eft join/left outer join鐨勬儏鍐典細姣旇緝灝戙?

inner join瑕佹眰鍙寵竟鐨勮〃杈懼紡蹇呴』榪斿洖Entities銆?

               
    // 榪斿洖鎵鏈夊湴鍧涓?000鐨凮rder綰綍錛孫rder涓繀欏繪湁OrderItem               
    final Query query = entityManager.createQuery( "select o from Order o
         inner join o.orderItems where o.address.streetNumber=2000 order by o.id");
  
               
   

left/left out/inner join fetch鎻愪緵浜嗕竴縐嶇伒媧葷殑鏌ヨ鍔犺澆鏂瑰紡鏉ユ彁楂樻煡璇㈢殑鎬ц兘銆傚湪榛樿鐨勬煡璇腑錛孍ntity涓殑闆嗗悎灞炴ч粯璁や笉浼氳鍏寵仈錛岄泦鍚堝睘鎬ч粯璁ゆ槸緙撳姞杞? lazy-load )銆?

               
               
``` // 榛樿EJB3 QL緙栬瘧鍚庝笉鍏寵仈闆嗗悎灞炴у彉閲?orderItems)瀵瑰簲鐨勮〃               
    final Query query = entityManager.createQuery( "select o from Order o
         inner join o.orderItems where o.address.streetNumber=2000 order by o.id");
    final List result = query.getResultList();
   
    // 榪欐椂鑾峰緱Order瀹炰綋涓璷rderItems( 闆嗗悎灞炴у彉閲?)涓虹┖
    final Order order = (Order)result.get( 0 )
   
    // 褰撳簲鐢ㄩ渶瑕佹椂錛孍JB3 Runtime鎵嶄細鎵ц涓鏉QL璇彞鏉ュ姞杞藉睘浜庡綋鍓峅rder鐨凮rderItems
    Collection orderItems = order.getOrderItems();
  
               
   

榪欐牱鐨勬煡璇㈡ц兘涓婃湁涓嶈凍鐨勫湴鏂廣備負浜嗘煡璇涓狾rder錛屾垜浠渶瑕佷竴鏉QL璇彞鑾峰緱鎵鏈夌殑Order鐨勫師濮?瀵硅薄灞炴э紝 浣嗛渶瑕佸彟澶朜鏉¤鍙ヨ幏寰楁瘡涓狾rder鐨刼rderItems闆嗗悎灞炴с備負浜嗛伩鍏峃+1鐨勬ц兘闂錛屾垜浠彲浠ュ埄鐢╦oin fetch涓嬈¤繃鐢ㄤ竴鏉QL璇彞鎶奜rder鐨勬墍鏈変俊鎭煡璇㈠嚭鏉ャ?

               
    // 榪斿洖鎵鏈夊湴鍧涓?000鐨凮rder綰綍錛孫rder涓繀欏繪湁OrderItem               
    final Query query = entityManager.createQuery( "select o from Order o
         inner join fetch o.orderItems where o.address.streetNumber=2000 order by o.id");
  
            
   

鐢變簬浣跨敤浜唂etch,榪欎釜鏌ヨ鍙細浜х敓涓鏉QL璇彞錛屾瘮鍘熸潵闇瑕丯+1鏉QL璇彞鍦ㄦц兘涓婃湁浜嗘瀬澶х殑鎻愬崌銆?
姣旇緝Entity

鍦ㄦ煡璇腑浣跨敤鍙傛暟鏌ヨ鏃訛紝鍙傛暟綾誨瀷闄や簡String, 鍘熷鏁版嵁綾誨瀷( int, double絳?鍜屽畠浠殑瀵硅薄綾誨瀷( Integer, Double絳?,涔熷彲浠ユ槸Entity鐨勫疄渚嬨?

               
    final Query query = entityManager.createQuery( "select o from Order o where o.address = ?1 order by o.id");
   
    final Address address = new Address( 2001, "foo street", "foo city", "foo province" );
   
    // 鐩存帴鎶奱ddress瀵硅薄浣滀負鍙傛暟銆?
    query.setParameter( 1, address );
 
            
   

鎵歸噺鏇存柊(Batch Update)

EJB3 QL鏀寔鎵歸噺鏇存柊銆?

               
   Query query = managerNew.createQuery("update Order as o set o.vender=:newvender,  o.partNumber='fooPart' where o.vender = 'foo'");
   query.setParameter("newvender", "barVender");
  
   // update鐨勮褰曟暟
   int result = query.executeUpdate();
           
   

鎵歸噺鍒犻櫎(Batch Remove)

EJB3 QL鏀寔鎵歸噺鍒犻櫎銆?

               
    Query query = managerNew.createQuery("DELETE FROM Order");
    int result = query.executeUpdate();
               
    Query query = managerNew.createQuery("DELETE FROM Order AS o WHERE o.vender='redsoft'");
    int result = query.executeUpdate();           
   
   
   
   

浣跨敤鎿嶄綔絎OT

               
               
    // 鏌ヨ鎵鏈塿ender涓嶇瓑浜?foo"鐨凮rder               
    Query query = managerNew.createQuery("SELECT FROM Order AS o WHERE not(o.vender='foo')");
    List result = query.getResultList();
               
    // 鍒犻櫎鎵鏈塿ender涓嶇瓑浜?foo"鐨凮rder
    Query query = managerNew.createQuery("DELETE FROM Order AS o WHERE not(o.vender='foo')");
    int result = query.executeUpdate();           
   

浣跨敤鎿嶄綔絎ETWEEN

               
               
    // 鏌ヨ鎵鏈変環鍊糰mount鍦紩鍜?0涔嬮棿鐨?鍖呭惈5,10)鐨凮rder              
    Query query = managerNew.createQuery("select o FROM Order AS o left join o.orderItems ot where o.amount BETWEEN 5 AND 10 order by o.vender desc");
    List result = query.getResultList();
        
   

浣跨敤鎿嶄綔絎N

               
    // 鏌ヨ鎵鏈塿ender鏄?foo1", "foo2"鎴栬?foo3"鐨凮rder               
    Query query = managerNew.createQuery("select o FROM Order AS o left join o.orderItems ot where o.vender in ( 'foo1', 'foo2', 'foo3' ) order by o.vender desc");
    List result = query.getResultList();
                       
        
   

浣跨敤鎿嶄綔絎IKE

               
    // 鏌ヨ鎵鏈塿ender浠ュ瓧絎︿覆"foo"寮澶寸殑Order               
    Query query = managerNew.createQuery("select o FROM Order as o where o.vender like 'foo%' order by o.vender desc");
    List result = query.getResultList();
   
   
    // 鏌ヨ鎵鏈塿ender浠ュ瓧絎︿覆"foo"緇撳熬鐨凮rder               
    Query query = managerNew.createQuery("select o FROM Order as o where o.vender like '%foo' order by o.vender desc");
    List result = query.getResultList();
   
   
    // 鍙互緇撳悎NOT涓璧蜂嬌鐢紝姣斿鏌ヨ鎵鏈塿ender涓嶄互浠ュ瓧絎︿覆"foo"緇撳熬鐨凮rder               
    Query query = managerNew.createQuery("select o FROM Order as o where o.vender not like '%foo' order by o.vender desc");
    List result = query.getResultList();
   
    // 鍙互緇撳悎escape浣跨敤錛屾瘮濡傛煡璇㈡墍鏈塿ender浠?foo"寮濮嬬殑Order騫跺拷鐣?3'瀛楃銆?
    // 濡傛灉vender鏄?foo1", "foo2", "foo3"絎﹀悎榪欎釜鏉′歡, 鍙﹀"3foo1", "f3oo4"涔熺鍚堟潯浠躲?
    Query query = managerNew.createQuery("select o FROM Order as o where o.vender like '%foo' escape '3' order by o.vender desc");
    List result = query.getResultList();
   
   
                       
        
   

浣跨敤鎿嶄綔絎S NULL

               
    // 鏌ヨ鎵鏈夋病鏈夊湴鍧鐨凮rder               
    Query query = managerNew.createQuery("select o FROM Order as o where o.address is null");
    List result = query.getResultList();
   
    // 鏌ヨ鎵鏈夊湴鍧闈炵┖鐨凮rder
    Query query = managerNew.createQuery("select o FROM Order as o where o.address is not null");
    List result = query.getResultList();
   
                       
        
   

浣跨敤鎿嶄綔絎S EMPTY

IS EMPTY鏄拡瀵歸泦鍚堝睘鎬?Collection)鐨勬搷浣滅銆傚彲浠ュ拰NOT涓璧蜂嬌鐢ㄣ?

               
    // 鏌ヨorderItems闆嗗悎涓虹┖鐨凮rder               
    Query query = managerNew.createQuery("select o FROM Order o where o.orderItems is empty by o.vender desc");
    List result = query.getResultList();
   
   // 鏌ヨorderItems闆嗗悎闈炵┖鐨凮rder               
    Query query = managerNew.createQuery("select o FROM Order o where o.orderItems is not empty by o.vender desc");
    List result = query.getResultList();                    
        
   

浣跨敤鎿嶄綔絎XISTS

[NOT]EXISTS闇瑕佸拰瀛愭煡璇㈤厤鍚堜嬌鐢ㄣ?

               
    Query query = manager.createQuery("select o FROM Order o where exists (select o from Order o where o.partNumber=?1) order by o.vender desc");
    query.setParameter(1, "partNumber");
   
   
    Query query = manager.createQuery("select o FROM Order o where o.vender='partNumber' and not exists (select o from Order o where o.partNumber=?1) order by o.vender desc");
    query.setParameter(1, "partNumber");
        
   

浣跨敤鎿嶄綔絎LL/SOME/ANY

               
    Query query = managerNew.createQuery("select emp from EmployeeA emp where emp.salary > all ( select m.salary from Manager m where m.department = emp.department)");
    List result = query.getResultList();
   
    Query query = managerNew.createQuery("select emp from EmployeeA emp where emp.salary > any ( select m.salary from Manager m where m.department = emp.department)");
    List result = query.getResultList();
   
    Query query = managerNew.createQuery("select emp from EmployeeA emp where emp.salary > some ( select m.salary from Manager m where m.department = emp.department)");
    List result = query.getResultList();
        
   

瀛楃涓插嚱鏁?

EJB3 QL瀹氫箟浜嗗唴緗嚱鏁版柟渚夸嬌鐢ㄣ傝繖浜涘嚱鏁扮殑浣跨敤鏂規硶鍜孲QL涓浉搴旂殑鍑芥暟鏂規硶綾諱技銆侲JB3 QL涓畾涔夌殑瀛楃涓插嚱鏁板寘鎷細

    * CONCAT銆瀛楃涓叉嫾鎺?
    * SUBSTRING銆瀛楃涓叉埅鍙?
    * TRIM 鍘繪帀絀烘牸
    * LOWER銆杞崲鎴愬皬鍐?
    * UPPER銆瑁呮崲鎴愬ぇ鍐?
    * LENGTH 瀛楃涓查暱搴?
    * LOCATE 瀛楃涓插畾浣?

      
    // concat灝嗗弬鏁頒腑鐨勪袱涓瓧絎︿覆騫剁粨鎴愪竴涓瓧絎︿覆,榪欓噷firstName鏄?foo", lastName鏄?bar"
    Query query = entityManager.createQuery("select concat( o.owner.firstName, o.owner.lastName ) FROM Order AS o left outer join o.orderItems as oi where o.owner.firstName='foo'");
    List result = query.getResultList();
    assertEquals("foobar", result.get(0).toString());
       
    // firstName鏄?fooBar",緇撴灉搴旇榪斿洖"oo"
    Query query = entityManager.createQuery("select o.vender,substring( o.owner.firstName, 1, 3 ), o.owner.info.age FROM Order AS o left outer join o.orderItems as oi where o.owner.firstName='charles'");
    List result = query.getResultList();
    Object[] row1 = (Object[]) result.get(0);
    assertEquals("oo", row1[1].toString());
   
    // 鑾峰緱"ar"鍦╢irstName涓湴璧峰浣嶇疆
    Query query = managerNew.createQuery("SELECT emp.firstName , emp.salary , locate( emp.firstName, 'ar') FROM EmployeeA as emp where emp.firstName='charles1111'");
    List result = query.getResultList();
       
        
   

璁$畻鍑芥暟

EJB3 QL涓畾涔夌殑璁$畻鍑芥暟鍖呮嫭錛?

    * ABS銆緇濆鍊?
    * SQRT 騫蟲柟鏍?
    * MOD 鍙栦綑鏁?
    * SIZE 鍙栭泦鍚堢殑鏁伴噺

      
    Query query = entityManager.createQuery("select o.vender, size( o.orderItems ) FROM Order o  where o.owner.firstName = 'charles' group by o.vender order by o.vender desc");
    List result = query.getResultList();
   
    // 鍑芥暟涔熷彲浠ョ敤鍦ㄦ潯浠朵腑
    Query query = managerNew.createQuery("select o.vender, sum(o.amount) FROM Order AS o left join o.orderItems ot group by o.vender having size(o.orderItems) = 0 or lower( o.vender ) = 'foo' order by o.vender desc");
    List result = query.getResultList();

   
    // 鍙栦綑鏁?
    Query query = managerNew.createQuery("select mod( o.owner.info.age, 10 ) FROM Order o where exists ( select o from Order o where o.partNumber= :name ) and o.vender='order1' and exists ( select o from Order o where o.amount= :name1 ) order by o.vender desc");
       
        
   

瀛愭煡璇?

瀛愭煡璇㈠彲浠ョ敤浜嶹HERE鍜孒AVING鏉′歡璇彞涓?

      
    Query query = managerNew.createQuery("select emp from EmployeeA as emp where ( select count(m) from Manager as m where m.department = emp.department) > 0 ");
    List result = query.getResultList();  


澶ч奔 2009-10-20 09:09 鍙戣〃璇勮
]]>
EJB璋冪敤瀛樺偍榪囩▼http://www.tkk7.com/luluyanglu/archive/2009/09/24/296318.html澶ч奔澶ч奔Thu, 24 Sep 2009 09:28:00 GMThttp://www.tkk7.com/luluyanglu/archive/2009/09/24/296318.htmlhttp://www.tkk7.com/luluyanglu/comments/296318.htmlhttp://www.tkk7.com/luluyanglu/archive/2009/09/24/296318.html#Feedback0http://www.tkk7.com/luluyanglu/comments/commentRss/296318.htmlhttp://www.tkk7.com/luluyanglu/services/trackbacks/296318.htmlEJB璋冪敤瀛樺偍榪囩▼
    
瑕佽皟鐢ㄥ瓨鍌ㄨ繃紼嬶紝鎴戜滑鍙互閫氳繃EntityManager 瀵硅薄鐨刢reateNativeQuery()鏂規硶鎵цSQL 璇彞(娉ㄦ剰錛氳繖閲岃鐨勬槸SQL 璇彞錛屼笉鏄疎JB3 QL), 璋冪敤瀛樺偍榪囩▼鐨凷QL 鏍煎紡濡備笅錛?br />      {call 瀛樺偍榪囩▼鍚嶇О(鍙傛暟1, 鍙傛暟2, … )}
     鍦‥JB3 涓綘鍙互璋冪敤鐨勫瓨鍌ㄨ繃紼嬫湁涓ょ
     1錛庢棤榪斿洖鍊肩殑瀛樺偍榪囩▼銆?/font>
     2錛庤繑鍥炲間負ResultSet錛堜互select 褰㈠紡榪斿洖鐨勫鹼級鐨勫瓨鍌ㄨ繃紼嬶紝EJB3 涓嶈兘璋冪敤浠UT 鍙傛暟榪斿洖鍊肩殑瀛樺偍榪囩▼

1.璋冪敤鏃犺繑鍥炲肩殑瀛樺偍榪囩▼
   //璋冪敤鏃犺繑鍥炲弬鏁扮殑瀛樺偍榪囩▼
   Query query = em.createNativeQuery("{call Procedure()}");
   query.executeUpdate();

2.璋冪敤榪斿洖鍗曞肩殑瀛樺偍榪囩▼
   //璋冪敤榪斿洖鍗曚釜鍊肩殑瀛樺偍榪囩▼
   Query query = em.createNativeQuery("{call GetPersonName(?)}");
   query.setParameter(1, new Integer(1));
   String result = query.getSingleResult().toString();

3.璋冪敤榪斿洖琛ㄥ叏閮ㄥ垪鐨勫瓨鍌ㄨ繃紼?br />    鍦ㄨ皟鐢ㄥ瓨鍌ㄨ繃紼嬫椂,鍙互璁〦JB3 Persistence 榪愯鐜灝嗗垪鍊肩洿鎺ュ~鍏呭叆涓涓狤ntity 鐨勫疄渚嬶紙鏈緥濉厖榪汸erson 瀵硅薄錛夛紝騫跺皢瀹炰緥浣滀負緇撴灉榪斿洖
   //璋冪敤榪斿洖Person 鍏ㄩ儴鍒楃殑瀛樺偍榪囩▼
   Query query = em.createNativeQuery("{call GetPersonList()}", Person.class);
   List result = query.getResultList();
瀛樺偍榪囩▼
GetPersonList:
   CREATE PROCEDURE `GetPersonList`()
   NOT DETERMINISTIC
           SQL SECURITY DEFINER
           COMMENT ''
    BEGIN
              select * from person;
    END;


4.璋冪敤榪斿洖閮ㄥ垎鍒楃殑瀛樺偍榪囩▼
   鍒涘緩瀛樺偍榪囩▼:
   CREATE PROCEDURE `GetPersonPartProperties`()
                  NOT DETERMINISTICSQL SECURITY DEFINER
                  COMMENT ''
   BEGIN
                  SELECT personid, personname from person;
   END;

   //璋冪敤榪斿洖閮ㄥ垎鍒楃殑瀛樺偍榪囩▼
   Query query = em.createNativeQuery("{call GetPersonPartProperties()}");
   List result = query.getResultList();


澶ч奔 2009-09-24 17:28 鍙戣〃璇勮
]]>
EJB3甯歌寮傚父鍙婅В鍐?/title><link>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260118.html</link><dc:creator>澶ч奔</dc:creator><author>澶ч奔</author><pubDate>Mon, 16 Mar 2009 14:22:00 GMT</pubDate><guid>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260118.html</guid><wfw:comment>http://www.tkk7.com/luluyanglu/comments/260118.html</wfw:comment><comments>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260118.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/luluyanglu/comments/commentRss/260118.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/luluyanglu/services/trackbacks/260118.html</trackback:ping><description><![CDATA[<p>緙哄皯StandAlone鐨勪笁涓狫ar鍖?/p> <p>customer Bill Burker<br /> Exception in thread "main" java.lang.NoClassDefFoundError: Lorg/jboss/invocation/Invoker;<br />  at java.lang.Class.getDeclaredFields0(Native Method)<br />  at java.lang.Class.privateGetDeclaredFields(Unknown Source)<br />  at java.lang.Class.getDeclaredField(Unknown Source)<br />  at java.io.ObjectStreamClass.getDeclaredSUID(Unknown Source)<br />  at java.io.ObjectStreamClass.access$700(Unknown Source)<br />  at java.io.ObjectStreamClass$2.run(Unknown Source)<br />  at java.security.AccessController.doPrivileged(Native Method)<br />  at java.io.ObjectStreamClass.<init>(Unknown Source)<br />  at java.io.ObjectStreamClass.lookup(Unknown Source)<br />  at java.io.ObjectStreamClass.initNonProxy(Unknown Source)<br />  at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)<br />  at java.io.ObjectInputStream.readClassDesc(Unknown Source)<br />  at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)<br />  at java.io.ObjectInputStream.readObject0(Unknown Source)<br />  at java.io.ObjectInputStream.defaultReadFields(Unknown Source)<br />  at java.io.ObjectInputStream.readSerialData(Unknown Source)<br />  at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)<br />  at java.io.ObjectInputStream.readObject0(Unknown Source)<br />  at java.io.ObjectInputStream.defaultReadFields(Unknown Source)<br />  at java.io.ObjectInputStream.readSerialData(Unknown Source)<br />  at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)<br />  at java.io.ObjectInputStream.readObject0(Unknown Source)<br />  at java.io.ObjectInputStream.readObject(Unknown Source)<br />  at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:107)<br />  at java.io.ObjectInputStream.readExternalData(Unknown Source)<br />  at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)<br />  at java.io.ObjectInputStream.readObject0(Unknown Source)<br />  at java.io.ObjectInputStream.defaultReadFields(Unknown Source)<br />  at java.io.ObjectInputStream.readSerialData(Unknown Source)<br />  at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)<br />  at java.io.ObjectInputStream.readObject0(Unknown Source)<br />  at java.io.ObjectInputStream.readObject(Unknown Source)<br />  at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)<br />  at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)<br />  at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)<br />  at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)<br />  at org.jboss.remoting.Client.invoke(Client.java:525)<br />  at org.jboss.remoting.Client.invoke(Client.java:488)<br />  at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:41)<br />  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)<br />  at org.jboss.aspects.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:34)<br />  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)<br />  at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:46)<br />  at $Proxy1.createProxy(Unknown Source)<br />  at org.jboss.ejb3.JndiProxyFactory.getObjectInstance(JndiProxyFactory.java:52)<br />  at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)<br />  at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1125)<br />  at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1142)<br />  at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:705)<br />  at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)<br />  at javax.naming.InitialContext.lookup(Unknown Source)<br />  at com.lyh.ejb3.clients.TravelAgentShell.getAgent(TravelAgentShell.java:46)<br />  at com.lyh.ejb3.clients.TravelAgentShell.customer(TravelAgentShell.java:156)<br />  at com.lyh.ejb3.clients.TravelAgentShell.processCommand(TravelAgentShell.java:115)<br />  at com.lyh.ejb3.clients.TravelAgentShell.shell(TravelAgentShell.java:83)<br />  at com.lyh.ejb3.clients.TravelAgentShell.main(TravelAgentShell.java:36)</p> <p> </p> <p><br /> Hibernate EntityManager 鏂囨。鎻忚堪濡備笅:<br /> If no persistence.xml with the correct<br /> name are found or if the expected persistence provider is not found, a PersistenceException is raised.</p> <p>鏁版嵁搴撴病鏈夊惎鍔ㄦ椂浼氬嚭鐜板涓嬪紓甯?persistence.xml閰嶇疆閿欒涔熶細鍑虹幇,濡傚笎鎴鳳紝瀵嗙爜閿欒<br /> Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set<br />  at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:217)<br />  at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:114)<br />  at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)<br />  at com.titan.clients.StandaloneClient.main(StandaloneClient.java:16)<br /> Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set<br />  at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)<br />  at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)<br />  at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:397)<br />  at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)<br />  at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1928)<br />  at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1211)<br />  at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:631)<br />  at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:760)<br />  at org.hibernate.ejb.Ejb3Configuration.createFactory(Ejb3Configuration.java:151)<br />  at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:205)<br />  ... 3 more<br /> 鍔犲叆JBOSS鐨刯boss-EJB-3.0_Embeddable_ALPHA_8涓殑jar鍖呭嵆鍙?br /> Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named titan<br />  at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:41)<br />  at com.lyh.ejb3.clients.StandaloneClient.main(StandaloneClient.java:21)</p> <p> </p> <p><br />  鍦ㄦ暟鎹簱涓彃鍏ュ瓧孌碉紝騫舵姏鍑哄紓甯?br />  public Integer getId() {<br />   return this.id;<br />  }<br />  @Id<br />  @GeneratedValue(strategy=GenerationType.AUTO)<br />  public void setId(Integer id) {<br />   this.id = id;<br />  }</p> <p><br /> 鏂囩珷鍑哄錛欴IY閮ㄨ惤(http://www.diybl.com/course/1_web/webjs/20071021/79030_6.html)</p> <img src ="http://www.tkk7.com/luluyanglu/aggbug/260118.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/luluyanglu/" target="_blank">澶ч奔</a> 2009-03-16 22:22 <a href="http://www.tkk7.com/luluyanglu/archive/2009/03/16/260118.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>org.hibernate.MappingException: Could not determine type for: java.util.Collection, for columns: [org.hibernate.mapping.Column(lineItems)]http://www.tkk7.com/luluyanglu/archive/2009/03/16/260117.html澶ч奔澶ч奔Mon, 16 Mar 2009 14:21:00 GMThttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260117.htmlhttp://www.tkk7.com/luluyanglu/comments/260117.htmlhttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260117.html#Feedback1http://www.tkk7.com/luluyanglu/comments/commentRss/260117.htmlhttp://www.tkk7.com/luluyanglu/services/trackbacks/260117.html

org.hibernate.MappingException: Could not determine type for: java.util.Collection, for columns: [org.hibernate.mapping.Column(lineItems)]

閿欒瑙e喅鏂規

 

        榪戞棩鍦ㄨ繍琛屼竴涓狤JB3 Entity瀹炰緥錛堜竴瀵瑰鍏崇郴錛夋椂鎬婚亣鍒板涓嬪紓甯革紝涔呰瘯涓嶈兘淇銆?/font>

javax.persistence.PersistenceException: org.hibernate.MappingException: Could not determine type for: java.util.Collection, for columns: [org.hibernate.mapping.Column(lineItems)]
 at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:720)
 at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:127)
 at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:246)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:103)
 at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
 at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
 at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
 at $Proxy0.start(Unknown Source)
 at org.jboss.system.ServiceController.start(ServiceController.java:417)
 at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
 at $Proxy69.start(Unknown Source)
 at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:120)
 at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:627)
 at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:351)
 at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91)
 at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
 at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
 at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
 at $Proxy0.start(Unknown Source)
 at org.jboss.system.ServiceController.start(ServiceController.java:417)
 at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
 at $Proxy33.start(Unknown Source)
 at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
 at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
 at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
 at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
 at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
 at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
 at $Proxy34.start(Unknown Source)
 at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
 at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
 at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
 at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
 at $Proxy9.deploy(Unknown Source)
 at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
 at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
 at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
 at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
 at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Collection, for columns: [org.hibernate.mapping.Column(lineItems)]
 at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266)
 at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253)
 at org.hibernate.mapping.Property.isValid(Property.java:185)
 at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:440)
 at org.hibernate.mapping.RootClass.validate(RootClass.java:192)
 at org.hibernate.cfg.Configuration.validate(Configuration.java:1102)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1287)
 at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

        閫氳繃google鏌ユ壘闂鍘熷洜鏃跺彂鐜版槸Hibenate鐨勪竴涓猙ug錛堝鏂囩綉绔欎笂鏄繖涔堣鐨勶紝鎴戝茍涓嶈涓烘槸Hibernate鐨勫師鍥狅級銆傞渶瑕佹妸

     @Id
     @Column(name = "ID")

        鍐欏埌public int getId() {return this.id; }鏂規硶鐨勪笂闈€備笉鑳藉儚涔︿腑渚嬪瓙閭f牱鍐欏湪private int id;鐨勪笂闈€?/font>



澶ч奔 2009-03-16 22:21 鍙戣〃璇勮
]]>
EJB寮傚父錛欳annot instantiate class:org.jnp.interfaces.NamingContextFactory http://www.tkk7.com/luluyanglu/archive/2009/03/16/260116.html澶ч奔澶ч奔Mon, 16 Mar 2009 14:19:00 GMThttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260116.htmlhttp://www.tkk7.com/luluyanglu/comments/260116.htmlhttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260116.html#Feedback0http://www.tkk7.com/luluyanglu/comments/commentRss/260116.htmlhttp://www.tkk7.com/luluyanglu/services/trackbacks/260116.htmlEJB寮傚父錛欳annot instantiate class:org.jnp.interfaces.NamingContextFactory

 

 

濡傚嚭鐜頒互涓嬪紓甯革細

Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]

 

璇鋒煡鐪嬫槸鍚﹀皢JBOSS_Home涓媍lient鏂囦歡澶逛腑鐨勬墍鏈塲ar鍖呴兘瀵煎叆鍒頒簡欏圭洰宸ョ▼涓?/span>



澶ч奔 2009-03-16 22:19 鍙戣〃璇勮
]]>
EJB寮傚父錛欳ollection has neither generic type or OneToMany.targetEntity() defined:http://www.tkk7.com/luluyanglu/archive/2009/03/16/260114.html澶ч奔澶ч奔Mon, 16 Mar 2009 14:19:00 GMThttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260114.htmlhttp://www.tkk7.com/luluyanglu/comments/260114.htmlhttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260114.html#Feedback0http://www.tkk7.com/luluyanglu/comments/commentRss/260114.htmlhttp://www.tkk7.com/luluyanglu/services/trackbacks/260114.htmlEJB寮傚父錛欳ollection has neither generic type or OneToMany.targetEntity() defined:

濡傚嚭鐜扮被浼間互涓嬪紓甯革細

 

org.hibernate.AnnotationException: Collection has neither generic type or OneToMany.targetEntity() defined: org.svse.org.model.Order.orderItems

 

璇鋒鏌rderItems榪欎釜灞炴ф槸鍚︿嬌鐢ㄤ簡娉涘瀷,濡?Set<OrderItem>.

濡傛灉鏈嬌鐢ㄦ硾鍨?璇峰湪OneToMany娉ㄩ噴涓嬌鐢╰argetEntity鎸囧畾鍏冪礌鐨勭被鍨?/span>



澶ч奔 2009-03-16 22:19 鍙戣〃璇勮
]]>
EJB3.x錛氶儴緗?鍗歌澆)EntityBean鏃惰嚜鍔ㄥ垱寤?鍒犻櫎)琛ㄧ粨鏋?/title><link>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260113.html</link><dc:creator>澶ч奔</dc:creator><author>澶ч奔</author><pubDate>Mon, 16 Mar 2009 14:18:00 GMT</pubDate><guid>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260113.html</guid><wfw:comment>http://www.tkk7.com/luluyanglu/comments/260113.html</wfw:comment><comments>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260113.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/luluyanglu/comments/commentRss/260113.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/luluyanglu/services/trackbacks/260113.html</trackback:ping><description><![CDATA[EJB3.x錛氶儴緗?鍗歌澆)EntityBean鏃惰嚜鍔ㄥ垱寤?鍒犻櫎)琛ㄧ粨鏋?cite class="fav_csdnstylebykimi"><a class="fav_csdnstylebykimi" title="鏀惰棌鍒版垜鐨勭綉鎽樹腑錛屽茍鍒嗕韓緇欐垜鐨勬湅鍙? href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">鏀惰棌</a></cite> <div id="8ucs0qu" class="blogstory"><script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script> <p style="text-align: center"><span style="font-size: medium"><strong> EJB3.x錛氶儴緗?鍗歌澆)EntityBean鏃惰嚜鍔ㄥ垱寤?鍒犻櫎)琛ㄧ粨鏋?/strong></span></p> <p style="text-align: left"><span style="font-size: small"><strong><span style="color: #008000">persistence.xml</span></strong></span></p> <p style="text-align: left"><span style="font-size: medium"><strong></strong></span></p> <p style="text-align: left"><span style="font-size: medium"><strong></strong></span> <div id="680ug0k" class="dp-highlighter"> <div id="eusmysi" class="bar"> <div id="aoq00ms" class="tools"><a onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" >view plain</a><a onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" >copy to clipboard</a><a onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" >print</a><a onclick="dp.sh.Toolbar.Command('About',this);return false;" >?</a></div> </div> <ol class="dp-xml"> <li id="0qm8igy" class="alt"><span><span id="kw60ggo" class="tag"><?</span><span id="ysg6008" class="tag-name">xml</span><span> </span><span id="6oiyag8" class="attribute">version</span><span>=</span><span id="0oigigw" class="attribute-value">"1.0"</span><span id="mw08o0e" class="tag">?></span><span>  </span></span></li> <li id="k6cmqw0" class=""><span id="m8qsm8y" class="tag"><</span><span id="6s0gkq0" class="tag-name">persistence</span><span> </span><span id="ko0y00k" class="attribute">xmlns</span><span>=</span><span id="cy8g0sa" class="attribute-value">"http://java.sun.com/xml/ns/persistence"</span><span> </span><span id="qaw8qiu" class="attribute">xmlns:xsi</span><span>=</span><span id="00g0k0o" class="attribute-value">"http://www.w3.org/2001/XMLSchema-instance"</span><span>  </span></span></li> <li id="q0ekwu0" class="alt"><span id="w00ua00" class="attribute">xsi:schemaLocation</span><span>=</span><span id="0iomgog" class="attribute-value">"http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"</span><span> </span><span id="y0o00eu" class="attribute">version</span><span>=</span><span id="8ic6uec" class="attribute-value">"1.0"</span><span id="iucyw8q" class="tag">></span><span>  </span></span></li> <li id="cgcacks" class=""><span>  </span><span id="o8emous" class="tag"><</span><span id="i880m0m" class="tag-name">persistence-unit</span><span> </span><span id="08s0c0k" class="attribute">name</span><span>=</span><span id="qugmgek" class="attribute-value">"EJBBookStore"</span><span id="ko80k6q" class="tag">></span><span>  </span></span></li> <li id="m0ca0oe" class="alt"><span>    </span><span id="8ycu8q0" class="tag"><</span><span id="880yeu0" class="tag-name">jta-data-source</span><span id="0meio00" class="tag">></span><span>java:/MSSQLDS</span><span id="s8o8gi0" class="tag"></</span><span id="0o8i00s" class="tag-name">jta-data-source</span><span id="m8i0iqo" class="tag">></span><span>  </span></span></li> <li id="u8ygk0c" class=""><span>    </span><span id="0e0g000" class="tag"><</span><span id="q8msw8e" class="tag-name">properties</span><span id="k68ouci" class="tag">></span><span>  </span></span></li> <li id="8ieo0mu" class="alt"><span>     </span><span id="u800ya0" class="tag"><</span><span id="ug0somm" class="tag-name">property</span><span> </span><span id="ug8ok6c" class="attribute">name</span><span>=</span><span id="qm8m8aa" class="attribute-value">"hibernate.hbm2ddl.auto"</span><span> </span><span id="ouysqig" class="attribute">value</span><span>=</span><span id="w80u8sg" class="attribute-value">"none"</span><span id="gs880oc" class="tag">/></span><span>  </span></span></li> <li id="oyugkie" class=""><span>     </span><span id="8uo0ocs" class="comments"><!-- 璋冩暣JDBC鎶撳彇鏁伴噺鐨勫ぇ灝? Statement.setFetchSize() --></span><span>  </span></span></li> <li id="igisms0" class="alt"><span>     </span><span id="c0a0880" class="tag"><</span><span id="i8gc0ay" class="tag-name">property</span><span> </span><span id="smam80y" class="attribute">name</span><span>=</span><span id="y8oyige" class="attribute-value">"hibernate.jdbc.fetch_size"</span><span> </span><span id="0u8kg00" class="attribute">value</span><span>=</span><span id="wq0c0qg" class="attribute-value">"18"</span><span id="sciuw8g" class="tag">/></span><span>  </span></span></li> <li id="ys0k080" class=""><span>     </span><span id="6w0wksi" class="comments"><!-- 璋冩暣JDBC鎵歸噺鏇存柊鏁伴噺 --></span><span>  </span></span></li> <li id="qgmy8mu" class="alt"><span>     </span><span id="cmy8ggc" class="tag"><</span><span id="0e800ki" class="tag-name">property</span><span> </span><span id="8wi0ywe" class="attribute">name</span><span>=</span><span id="6uo0iyo" class="attribute-value">"hibernate.jdbc.batch_size"</span><span> </span><span id="umoiu8q" class="attribute">value</span><span>=</span><span id="umo80g0" class="attribute-value">"10"</span><span id="80q0mia" class="tag">/></span><span>  </span></span></li> <li id="skce880" class=""><span>     </span><span id="8ku0eci" class="comments"><!-- 鏄劇ず鏈緇堟墽琛岀殑SQL --></span><span>  </span></span></li> <li id="0ya0iye" class="alt"><span>     </span><span id="yg8ka00" class="tag"><</span><span id="88wsmsq" class="tag-name">property</span><span> </span><span id="mc0oagw" class="attribute">name</span><span>=</span><span id="kiwc8c0" class="attribute-value">"hibernate.show_sql"</span><span> </span><span id="y8uwqqw" class="attribute">value</span><span>=</span><span id="wya0ayo" class="attribute-value">"true"</span><span id="qac0qig" class="tag">/></span><span>  </span></span></li> <li id="80mm0u0" class=""><span>     </span><span id="u0a0sa0" class="comments"><!-- 鏍煎紡鍖栨樉紺虹殑SQL --></span><span>  </span></span></li> <li id="q800gmk" class="alt"><span>     </span><span id="60o0w80" class="tag"><</span><span id="c8qkwwm" class="tag-name">property</span><span> </span><span id="8y0sw0g" class="attribute">name</span><span>=</span><span id="m8ic0aq" class="attribute-value">"hibernate.format_sql"</span><span> </span><span id="guoko0w" class="attribute">value</span><span>=</span><span id="i8g0ag0" class="attribute-value">"true"</span><span id="a8egioi" class="tag">/></span><span>  </span></span></li> <li id="mykic88" class=""><span>    </span><span id="80o8ywm" class="tag"></</span><span id="wsc000k" class="tag-name">properties</span><span id="yoq0s00" class="tag">></span><span>  </span></span></li> <li id="ay00ks0" class="alt"><span>  </span><span id="8w0ysa0" class="tag"></</span><span id="aa0cwum" class="tag-name">persistence-unit</span><span id="s0y0qw0" class="tag">></span><span>  </span></span></li> <li id="yoiwy00" class=""><span id="0c8o0w0" class="tag"></</span><span id="ss000oe" class="tag-name">persistence</span><span id="8cwk8ig" class="tag">></span><span>  </span></span></li> </ol> </div> <textarea class="xhtml" style="display: none" name="code" rows="15" cols="77"><?xml version="1.0"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="EJBBookStore"> <jta-data-source>java:/MSSQLDS</jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="none"/> <!-- 璋冩暣JDBC鎶撳彇鏁伴噺鐨勫ぇ灝? Statement.setFetchSize() --> <property name="hibernate.jdbc.fetch_size" value="18"/> <!-- 璋冩暣JDBC鎵歸噺鏇存柊鏁伴噺 --> <property name="hibernate.jdbc.batch_size" value="10"/> <!-- 鏄劇ず鏈緇堟墽琛岀殑SQL --> <property name="hibernate.show_sql" value="true"/> <!-- 鏍煎紡鍖栨樉紺虹殑SQL --> <property name="hibernate.format_sql" value="true"/> </properties> </persistence-unit> </persistence> </textarea>   <p> </p> <p style="text-align: left"><span style="font-size: medium"><span style="font-size: small"><span style="color: #0000ff">properties 鑺傜偣鐢ㄤ綔鎸囧畾Hibernate鐨勫悇欏瑰睘鎬э紝濡傛灉hibernate.hbm2ddl.auto鐨勫艱涓篶reate-drop錛屽湪瀹炰綋Bean鍙戝竷鍙婂嵏杞芥椂灝嗚嚜鍔ㄥ垱寤哄強鍒犻櫎鐩稿簲鏁版嵁搴撹〃(娉ㄦ剰錛欽boss鏈嶅姟鍣ㄥ惎鍔ㄦ垨鍏抽棴鏃朵細寮曞彂瀹炰綋Bean鐨勫彂甯冨強鍗歌澆)銆?/span></span></span></p> <p><span style="font-size: small"><span style="color: #0000ff">濡傛灉浣犵殑琛ㄥ凡緇忓瓨鍦?騫朵笖鎯充繚鐣欐暟鎹紝鍙戝竷瀹炰綋bean鏃跺彲浠ユ妸hibernate.hbm2ddl.auto鐨勫艱涓簄one鎴杣pdate,浠ュ悗涓轟簡瀹炰綋bean 鐨勬敼鍔ㄨ兘鍙嶅簲鍒版暟鎹〃錛屽緩璁嬌鐢╱pdate錛岃繖鏍峰疄浣揃ean娣誨姞涓涓睘鎬ф椂鑳藉悓鏃跺湪鏁版嵁琛ㄥ鍔犵浉搴斿瓧孌點?/span></span></p> </div> <img src ="http://www.tkk7.com/luluyanglu/aggbug/260113.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/luluyanglu/" target="_blank">澶ч奔</a> 2009-03-16 22:18 <a href="http://www.tkk7.com/luluyanglu/archive/2009/03/16/260113.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>EJB寮傚父錛歩dentifier of an instance of net.model.entity.Role was altered from 2 to 0http://www.tkk7.com/luluyanglu/archive/2009/03/16/260111.html澶ч奔澶ч奔Mon, 16 Mar 2009 14:17:00 GMThttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260111.htmlhttp://www.tkk7.com/luluyanglu/comments/260111.htmlhttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260111.html#Feedback0http://www.tkk7.com/luluyanglu/comments/commentRss/260111.htmlhttp://www.tkk7.com/luluyanglu/services/trackbacks/260111.htmlEJB寮傚父錛歩dentifier of an instance of net.model.entity.Role was altered from 2 to 0

 

濡傚嚭鐜扮被浼間互涓嬪紓甯革細

 

 21:23:05,106 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@473201
javax.persistence.PersistenceException: org.hibernate.HibernateException: identifier of an instance of net.model.entity.Role was altered from 2 to 0
 at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
 at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:513)
 at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:263)
 at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
 at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
 at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1414)
 at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
 at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
 at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:170)
 at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:159)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:65)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:486)
 at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:56)
 at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)
 at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
 at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
 at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
 at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
 at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
 at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
Caused by: org.hibernate.HibernateException: identifier of an instance of net.model.entity.Role was altered from 2 to 0
 at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:81)
 at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:187)
 at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:143)
 at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
 at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
 at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)
 at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
 at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
 at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
 ... 34 more

璇鋒鏌ole綾葷殑涓婚敭灞炴ф槸鍚︽槸灝佽綾誨瀷銆備緥濡傦細Integer錛孡ong ……銆備笉鑳芥槸int錛宭ong絳夋暟鎹被鍨嬨?/span>



澶ч奔 2009-03-16 22:17 鍙戣〃璇勮
]]>
EJB3.x錛氬叧浜嶡UniqueConstraint鏍囪涓殑columnNames灞炴?/title><link>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260110.html</link><dc:creator>澶ч奔</dc:creator><author>澶ч奔</author><pubDate>Mon, 16 Mar 2009 14:16:00 GMT</pubDate><guid>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260110.html</guid><wfw:comment>http://www.tkk7.com/luluyanglu/comments/260110.html</wfw:comment><comments>http://www.tkk7.com/luluyanglu/archive/2009/03/16/260110.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/luluyanglu/comments/commentRss/260110.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/luluyanglu/services/trackbacks/260110.html</trackback:ping><description><![CDATA[<p style="text-align: center"><strong><span style="font-size: large">EJB3.x錛氬叧浜嶡UniqueConstraint鏍囪涓殑columnNames灞炴?/span></strong></p> <p style="text-align: left"><span style="font-size: small">渚嬪浠ヤ笅浠g爜錛?/span></p> <p style="text-align: left"> <div id="0ui0u00" class="dp-highlighter"> <div id="sk00omw" class="bar"> <div id="s0yueuk" class="tools"><a onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" >view plain</a><a onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" >copy to clipboard</a><a onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" >print</a><a onclick="dp.sh.Toolbar.Command('About',this);return false;" >?</a></div> </div> <ol class="dp-j"> <li id="sys0saq" class="alt"><span><span id="qgaqi8g" class="keyword">package</span><span> net.model.entity;   </span></span></li> <li id="q0u0omk" class=""><span>  </span></li> <li id="800auua" class="alt"><span id="8qsqc00" class="keyword">import</span><span> java.io.Serializable;   </span></span></li> <li id="usmgy0c" class=""><span>  </span></li> <li id="kic000o" class="alt"><span id="wm0gagg" class="keyword">import</span><span> javax.persistence.Column;   </span></span></li> <li id="y8cwq08" class=""><span id="80sug0a" class="keyword">import</span><span> javax.persistence.Entity;   </span></span></li> <li id="y00m0ii" class="alt"><span id="guga8gg" class="keyword">import</span><span> javax.persistence.GeneratedValue;   </span></span></li> <li id="kiueioe" class=""><span id="0o800uu" class="keyword">import</span><span> javax.persistence.GenerationType;   </span></span></li> <li id="0000w8y" class="alt"><span id="g80m88y" class="keyword">import</span><span> javax.persistence.Id;   </span></span></li> <li id="goqauci" class=""><span id="s8eqaqo" class="keyword">import</span><span> javax.persistence.Table;   </span></span></li> <li id="w8c00ow" class="alt"><span id="omwqki8" class="keyword">import</span><span> javax.persistence.UniqueConstraint;   </span></span></li> <li id="uikm0k0" class=""><span>  </span></li> <li id="yo00sic" class="alt"><span id="sqs0k0m" class="annotation">@Entity</span><span>  </span></span></li> <li id="6qseom8" class=""><span id="qgquoce" class="annotation">@Table</span><span>(   </span></span></li> <li id="ck0e800" class="alt"><span>        name=</span><span id="e80s8y0" class="string">"ROLE"</span><span> ,   </span></span></li> <li id="cku0gek" class=""><span>        uniqueConstraints={</span><span id="y8kw0ca" class="annotation">@UniqueConstraint</span><span>(columnNames={</span><span id="ecm0i0y" class="string">"ROLE_NAME"</span><span>})}                   </span></span></li> <li id="cse8owu" class="alt"><span>)   </span></li> <li id="k80gm00" class=""><span id="00mq0y0" class="keyword">public</span><span> </span><span id="m0as0qg" class="keyword">class</span><span> Role </span><span id="88oacss" class="keyword">implements</span><span> Serializable   </span></span></li> <li id="8800wuu" class="alt"><span>{   </span></li> <li id="6a0oggm" class=""><span>    </span><span id="ua00s00" class="keyword">private</span><span> Integer id ;   </span></span></li> <li id="8u0wq80" class="alt"><span>       </span></li> <li id="gyi800a" class=""><span>    </span><span id="m0i880y" class="keyword">private</span><span> String roleName;   </span></span></li> <li id="q00wooc" class="alt"><span>       </span></li> <li id="oew00e0" class=""><span>    </span><span id="w8iu8ag" class="keyword">private</span><span> </span><span id="gog80a0" class="keyword">int</span><span> roleValue ;   </span></span></li> <li id="q0e0e0u" class="alt"><span>       </span></li> <li id="ai8cmms" class=""><span>  </span></li> <li id="m00iusa" class="alt"><span>  </span></li> <li id="0g000ca" class=""><span>    </span><span id="simaeu0" class="annotation">@Id</span><span>  </span></span></li> <li id="8sm0g00" class="alt"><span>    </span><span id="wcwce00" class="annotation">@GeneratedValue</span><span>(strategy=GenerationType.AUTO)   </span></span></li> <li id="mkc8ge0" class=""><span>    </span><span id="8wouo0o" class="annotation">@Column</span><span>(name=</span><span id="0cg8eku" class="string">"ROLE_ID"</span><span>)   </span></span></li> <li id="c8ga80c" class="alt"><span>    </span><span id="6q8a00c" class="keyword">public</span><span> Integer getId() {   </span></span></li> <li id="sqsas0k" class=""><span>        </span><span id="8yky00m" class="keyword">return</span><span> id;   </span></span></li> <li id="u8iuo0o" class="alt"><span>    }   </span></li> <li id="ukwke0c" class=""><span>  </span></li> <li id="8amg0om" class="alt"><span>    </span><span id="8e000s0" class="keyword">public</span><span> </span><span id="c80y0m0" class="keyword">void</span><span> setId(Integer id) {   </span></span></li> <li id="ygiu800" class=""><span>        </span><span id="8k00g0o" class="keyword">this</span><span>.id = id;   </span></span></li> <li id="0ey0syy" class="alt"><span>    }   </span></li> <li id="o0cugky" class=""><span>  </span></li> <li id="00e0ywe" class="alt"><span>       </span></li> <li id="gcis8y0" class=""><span>       </span></li> <li id="wwi000q" class="alt"><span>    </span><span id="00yicwc" class="annotation">@Column</span><span>(name=</span><span id="goi08m0" class="string">"ROLE_NAME"</span><span> , nullable=</span><span id="0gam8ks" class="keyword">false</span><span> ,length=</span><span id="8eo08sg" class="number">50</span><span>)   </span></span></li> <li id="80mgsiq" class=""><span>    </span><span id="cs806e0" class="keyword">public</span><span> String getRoleName() {   </span></span></li> <li id="q0qkwmu" class="alt"><span>        </span><span id="8se000e" class="keyword">return</span><span> roleName;   </span></span></li> <li id="sku8ec0" class=""><span>    }   </span></li> <li id="u8i0i00" class="alt"><span>  </span></li> <li id="ewg8iy0" class=""><span>    </span><span id="6mq60ii" class="keyword">public</span><span> </span><span id="k8i0goe" class="keyword">void</span><span> setRoleName(String roleName) {   </span></span></li> <li id="scmumc0" class="alt"><span>        </span><span id="880y8wc" class="keyword">this</span><span>.roleName = roleName;   </span></span></li> <li id="u0kwgwu" class=""><span>    }   </span></li> <li id="80ac0kq" class="alt"><span>  </span></li> <li id="q0ke00e" class=""><span>    </span><span id="ss0000i" class="annotation">@Column</span><span>(name=</span><span id="aq80g00" class="string">"ROLE_VALUE"</span><span> , nullable=</span><span id="euou0ki" class="keyword">false</span><span>)   </span></span></li> <li id="qgayiq0" class="alt"><span>    </span><span id="ksusucc" class="keyword">public</span><span> </span><span id="gikmyy8" class="keyword">int</span><span> getRoleValue() {   </span></span></li> <li id="owi8si8" class=""><span>        </span><span id="800cw00" class="keyword">return</span><span> roleValue;   </span></span></li> <li id="kk8wgoy" class="alt"><span>    }   </span></li> <li id="k000g00" class=""><span>  </span></li> <li id="i8qicku" class="alt"><span>    </span><span id="800uyq8" class="keyword">public</span><span> </span><span id="kawq000" class="keyword">void</span><span> setRoleValue(</span><span id="8g0s8aw" class="keyword">int</span><span> roleValue) {   </span></span></li> <li id="8ysmeu8" class=""><span>        </span><span id="ec0gioi" class="keyword">this</span><span>.roleValue = roleValue;   </span></span></li> <li id="oe80y0u" class="alt"><span>    }   </span></li> <li id="8i0c0i8" class=""><span>  </span></li> <li id="sg0qu0e" class="alt"><span>}  </span></li> </ol> </div> <textarea class="java" style="display: none" name="code" rows="15" cols="78">package net.model.entity; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.UniqueConstraint; @Entity @Table( name="ROLE" , uniqueConstraints={@UniqueConstraint(columnNames={"ROLE_NAME"})} ) public class Role implements Serializable { private Integer id ; private String roleName; private int roleValue ; @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="ROLE_ID") public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(name="ROLE_NAME" , nullable=false ,length=50) public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } @Column(name="ROLE_VALUE" , nullable=false) public int getRoleValue() { return roleValue; } public void setRoleValue(int roleValue) { this.roleValue = roleValue; } }</textarea>   <p> </p> <p style="text-align: left"> </p> <p style="text-align: left"><span style="color: #0000ff"><span style="font-size: small">娉ㄦ剰uniqueConstraints={@UniqueConstraint(columnNames={"ROLE_NAME"})} 涓殑<span style="color: #0000ff">columnNames灞炴у間負鏁版嵁搴撹〃涓殑<strong><span style="color: #ff0000"><span style="font-size: medium">瀛楁鍚?/span></span></strong>錛岃屼笉鏄疪ole綾諱腑鐨勭被鎴愬憳鍚峳oleName銆?/span></span></span></p> <img src ="http://www.tkk7.com/luluyanglu/aggbug/260110.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/luluyanglu/" target="_blank">澶ч奔</a> 2009-03-16 22:16 <a href="http://www.tkk7.com/luluyanglu/archive/2009/03/16/260110.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>EJB3.x: 鍏充簬@UniqueConstraint鏍囪鏃犳晥闂http://www.tkk7.com/luluyanglu/archive/2009/03/16/260107.html澶ч奔澶ч奔Mon, 16 Mar 2009 14:13:00 GMThttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260107.htmlhttp://www.tkk7.com/luluyanglu/comments/260107.htmlhttp://www.tkk7.com/luluyanglu/archive/2009/03/16/260107.html#Feedback0http://www.tkk7.com/luluyanglu/comments/commentRss/260107.htmlhttp://www.tkk7.com/luluyanglu/services/trackbacks/260107.htmlEJB3.x: 鍏充簬@UniqueConstraint鏍囪鏃犳晥闂

鍦ㄥ埗瀹欵ntity Bean鏃訛紝璁劇疆浜嗚瀹炰綋鐨凘UniqueConstraint闄愬埗銆備絾鏄璇ュ疄浣揃ean榪涜閮ㄧ講鍚庯紝騫舵病鏈夊湪鏁版嵁搴撹〃涓湅鍒板搴旇〃瀛楁鍑虹幇unique闄愬埗銆傝繖鏄洜涓篅UniqueConstraint鏍囪蹇呴』鍦ㄨ嚜鍔ㄧ敓鎴愯〃鐨勬儏鍐典笅鎵嶈搗浣滅敤銆傚嵆錛屽湪persistence.xml涓皢hibernate.hbm2ddl.auto璁劇疆涓篶reate-drop銆傚惁鍒欙紝鍞竴鎬х害鏉熼檺鍒朵笉浼氳鍔犲叆鍒版暟鎹簱涓?/span>

浠ヤ笅鏄奐SR 220: Enterprise JavaBeansTM,Version 3.0 Java Persistence API銆嬫枃妗g殑鍘熸枃璇存槑錛?/span>

Type

Name

Description

Default

UniqueConstraint[]

uniqueConstraints

(Optional) Unique constraints that are to be placed on the table. These are only used if table generation is in effect. These constraints apply in addition to any constraints specified by the Column and JoinColumn annotations and constraints entailed by primary key mappings.

No additional

constraints



澶ч奔 2009-03-16 22:13 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 黄在线观看www免费看| 免费看的成人yellow视频| 亚洲国产中文在线视频| 成人一a毛片免费视频| 污污免费在线观看| 亚洲avav天堂av在线不卡| a级毛片无码免费真人| 国产福利电影一区二区三区,免费久久久久久久精 | 国产不卡免费视频| 日本卡1卡2卡三卡免费| 亚洲国产精品网站在线播放| 337p日本欧洲亚洲大胆裸体艺术| 五月婷婷在线免费观看| 一级中文字幕乱码免费| 亚洲偷自精品三十六区| 中文字幕不卡亚洲 | 污污免费在线观看| 亚洲国产精品网站久久| 亚洲一区二区视频在线观看| 99视频全部免费精品全部四虎| 美女隐私免费视频看| 亚洲国产成人精品电影| 中文字幕亚洲综合久久菠萝蜜| 亚洲第一成年免费网站| 丁香花在线视频观看免费| 亚洲欧美日韩综合俺去了| 久久91亚洲精品中文字幕| 免费乱理伦在线播放| av大片在线无码免费| 好紧我太爽了视频免费国产| 国产亚洲福利精品一区二区| 91亚洲精品麻豆| 亚洲精品美女久久777777| 免费在线观看理论片| 在线观看免费人成视频色| 日韩免费高清大片在线| 国产午夜精品理论片免费观看| 亚洲AV电影天堂男人的天堂| 亚洲伊人久久大香线蕉啊| 亚洲国产老鸭窝一区二区三区 | 久久亚洲精品国产亚洲老地址|