锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲色偷拍区另类无码专区,亚洲av无码偷拍在线观看,亚洲精品日韩一区二区小说http://m.tkk7.com/rain1102/category/37645.html<br/><font color="green" style="font-family: 鍗庢枃琛屾シ;font-size:16px;">瀛愭洶錛氬嵄閭︿笉鍏ワ紝涔遍偊涓嶅眳銆傚ぉ涓嬫湁閬撳垯瑙侊紝鏃犻亾鍒欓殣銆?lt;/font><font color="#3C1435"></font>zh-cnFri, 06 Nov 2009 16:43:16 GMTFri, 06 Nov 2009 16:43:16 GMT60AbstractTransactionalJUnit4SpringContextTests涓殑浜嬪姟鍥炴粴http://m.tkk7.com/rain1102/archive/2009/11/04/301147.htmlEric.ZhouEric.ZhouWed, 04 Nov 2009 12:58:00 GMThttp://m.tkk7.com/rain1102/archive/2009/11/04/301147.htmlhttp://m.tkk7.com/rain1102/comments/301147.htmlhttp://m.tkk7.com/rain1102/archive/2009/11/04/301147.html#Feedback0http://m.tkk7.com/rain1102/comments/commentRss/301147.htmlhttp://m.tkk7.com/rain1102/services/trackbacks/301147.html 褰撳墠鏈変竴涓猆ser鍜屼竴涓猂ole錛屽畠浠槸澶氬澶氬叧緋伙紝涓棿琛ㄤ負user_role瀛樻斁user鍜宺ole鐨刬d銆傞儴鍒哢ser浠g爜濡備笅錛?br /> @ManyToMany(cascade = { CascadeType.PERSIST }, fetch = FetchType.LAZY)   
    @JoinTable(name = "user_role",
      joinColumns = @JoinColumn(name = "user_id"),
      inverseJoinColumns = @JoinColumn(name = "role_id"))    

 public Set<Role> getRoles() {
  return roles;
 }
 
 public void setRoles(Set<Role> roles) {
  this.roles = roles;
 }
 
 public void addRole(Role role) {
  if (!this.roles.contains(role)) {
   this.roles.add(role);
  }
 }
 
 public void removeRole(Role role) {
  this.roles.remove(role);
 }

Role涓殑閮ㄥ垎浠g爜濡備笅錛?br /> @ManyToMany(
   cascade = {CascadeType.PERSIST, CascadeType.MERGE},
   mappedBy = "roles",
   targetEntity = User.class
   )

 public Set<User> getUsers() {
  return users;
 }

鑰屾祴璇曚唬鐮佺戶鎵夸簡AbstractTransactionalJUnit4SpringContextTests錛屼唬鐮佸涓嬶細
 @Test
 public void testManyToMany() {
  Role oneRole = new Role();
  oneRole.setDescription("manager");
  oneRole.setEnabled(true);
  oneRole.setRoleName("manger");
  
  Role twoRole = new Role();
  twoRole.setDescription("waitress");
  twoRole.setEnabled(true);
  twoRole.setRoleName("waitress");
  
  User user = new User();
  user.setEnabled(true);
  user.setPassword("jianghaiying");
  user.setUsername("Jiang HaiYing");
  user.addRole(oneRole);
  user.addRole(twoRole);
  userDAO.persist(user);
  
  try {
   userDAO.getConnection().commit();
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
榪欐牱鎵ц浠ュ悗錛屾墦鍗板嚭鐨勪俊鎭涓嬶細
Hibernate: insert into user (enabled, password, username) values (?, ?, ?)
Hibernate: insert into role (description, enabled, name) values (?, ?, ?)
Hibernate: insert into role (description, enabled, name) values (?, ?, ?)

榪欐椂鍊欓棶棰樺嚭鏉ヤ簡錛屼負浠涔堟病鏈夊線鍏崇郴琛ㄤ腑鎻掑叆鏁版嵁錛?br /> 鍏跺疄榪欏茍涓嶆槸浠g爜鎴栬呴厤緗啓閿欒浜嗭紝鍦ㄦ寮忚繍琛屼唬鐮佷竴鍒囨甯革紝鑰屾槸AbstractTransactionalJUnit4SpringContextTests鍑虹殑楝鹼紝浜嬪疄涓婂瀵瑰鍏寵仈鍏崇郴鏄敱Hibernate鍘誨府鎴戜滑緇存姢鐨勶紝鑰孉bstractTransactionalJUnit4SpringContextTests涓轟簡淇濇寔鏁版嵁鐨勬竻媧佸張浼氳嚜鍔ㄥ洖婊氥傚浣曡В鍐寵繖涓棶棰樺憿錛?br /> 鏂規(guī)硶錛?br /> 鍙渶瑕佸湪test鏂規(guī)硶涓婃坊鍔?span style="color: #008000">@Rollback(false)錛?/span>涓嶈瀹冨洖婊氾紝涓鍒囨甯鎬簡銆傝繖鏃跺欎篃鍙互鍘繪帀try璇彞浜嗐?br /> Hibernate: insert into user (enabled, password, username) values (?, ?, ?)
Hibernate: insert into role (description, enabled, name) values (?, ?, ?)
Hibernate: insert into role (description, enabled, name) values (?, ?, ?)
Hibernate: insert into user_role (user_id, role_id) values (?, ?)
Hibernate: insert into user_role (user_id, role_id) values (?, ?)

Eric.Zhou 2009-11-04 20:58 鍙戣〃璇勮
]]>
欏圭洰涓皝瑁匰pring涓殑嫻嬭瘯鍩虹被http://m.tkk7.com/rain1102/archive/2008/04/21/194490.htmlEric.ZhouEric.ZhouMon, 21 Apr 2008 05:15:00 GMThttp://m.tkk7.com/rain1102/archive/2008/04/21/194490.htmlhttp://m.tkk7.com/rain1102/comments/194490.htmlhttp://m.tkk7.com/rain1102/archive/2008/04/21/194490.html#Feedback0http://m.tkk7.com/rain1102/comments/commentRss/194490.htmlhttp://m.tkk7.com/rain1102/services/trackbacks/194490.htmlpackage com.founder.common;

import Java.text.SimpleDateFormat;
import Java.util.TimeZone;

import org.hibernate.SessionFactory;
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;

/**
 * This class is the base class of all the tests,
 * we can use the dependency injection functionality of spring in all the tests,
 * and the default transaction mode is rollback, so we don't need to write special code to restore data after calling some methods affected database data.
 *
 * @author Rui Zhou, Copyright © 2008 foundersoftware. All Rights Reserved.
 * @version 1.00, 2008-03-22 15:46
 */
public abstract class SpringTestCaseBase extends AbstractTransactionalDataSourceSpringContextTests {
 
 protected SimpleDateFormat sdf;
 
 public SpringTestCaseBase() {
  // query the protected variables to implement denpendency injection automatically,
  // so we don't need to write settor and gettor methods anymore.
  this.setPopulateProtectedVariables(true);
  
  sdf = new SimpleDateFormat("yyyy-MM-dd");
  sdf.setTimeZone(TimeZone.getDefault());
 }
 
 protected String[] getConfigLocations() {
  return new String[] { "file:WebRoot/WEB-INF/applicationContext*.xml"};
    }
 
 protected void flushSession(){
  SessionFactory sessionFactory = (SessionFactory)applicationContext.getBean("sessionFactory");  
        sessionFactory.getCurrentSession().flush();
    }
}



Eric.Zhou 2008-04-21 13:15 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久久亚洲精品无码gv| 亚洲熟女www一区二区三区| 国产免费播放一区二区| 免费观看国产小粉嫩喷水| 亚洲成av人在线观看网站| 久久精品免费一区二区喷潮| 亚洲三级中文字幕| 午夜视频在线在免费| 亚洲国产精品99久久久久久| 韩国日本好看电影免费看| 国产99久久亚洲综合精品| 亚洲精品成人久久久| 爽爽爽爽爽爽爽成人免费观看| 亚洲一区无码中文字幕| 日本免费一区二区三区| 337p日本欧洲亚洲大胆艺术| 日本亚洲免费无线码| 亚洲AV无码AV男人的天堂不卡| 男人的天堂亚洲一区二区三区| 亚洲乱码中文字幕在线| 日韩亚洲国产二区| 中国一级毛片视频免费看| 亚洲国产高清人在线| 18禁成年无码免费网站无遮挡| 亚洲AV无码资源在线观看| 国产黄色一级毛片亚洲黄片大全| 久久精品免费一区二区三区| 亚洲黄色免费观看| 全免费a级毛片免费看不卡| 羞羞视频免费网站日本| 亚洲AV无码成人精品区天堂 | 国产免费人成视频尤勿视频| 亚洲成A人片在线观看WWW| 国产又大又粗又长免费视频| 亚洲成a人无码亚洲成www牛牛| 亚洲综合AV在线在线播放| 国产精品成人免费福利| 四虎国产精品成人免费久久| 亚洲一区中文字幕久久| 国产一级一片免费播放| 日韩av无码久久精品免费|