zoukankan      html  css  js  c++  java
  • Hibernate同一性问题

    package com.cg.foo;
    
    // Generated 2012-7-19 11:40:57 by Hibernate Tools 3.4.0.CR1
    
    import java.util.Date;
    import java.util.HashSet;
    import java.util.Set;
    
    /**
     * TUser generated by hbm2java
     */
    public class TUser implements java.io.Serializable {
    
    	private long id;
    	private String name;
    	private String nickname;
    	private Date birthday;
    	private Set<TCard> TCards = new HashSet<TCard>(0);
    
    	public TUser() {
    	}
    
    	public TUser(long id) {
    		this.id = id;
    	}
    
    	public TUser(long id, String name, String nickname, Date birthday,
    			Set<TCard> TCards) {
    		this.id = id;
    		this.name = name;
    		this.nickname = nickname;
    		this.birthday = birthday;
    		this.TCards = TCards;
    	}
    
    	public long getId() {
    		return this.id;
    	}
    
    	public void setId(long id) {
    		this.id = id;
    	}
    
    	public String getName() {
    		return this.name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public String getNickname() {
    		return this.nickname;
    	}
    
    	public void setNickname(String nickname) {
    		this.nickname = nickname;
    	}
    
    	public Date getBirthday() {
    		return this.birthday;
    	}
    
    	public void setBirthday(Date birthday) {
    		this.birthday = birthday;
    	}
    
    	public Set<TCard> getTCards() {
    		return this.TCards;
    	}
    
    	public void setTCards(Set<TCard> TCards) {
    		this.TCards = TCards;
    	}
    	
    	@Override
    	public boolean equals(Object other) {
    		if(this==other)return true;
    		//if(id==null)return false;
    		if(!(other instanceof TUser))return false;
    		final TUser that = (TUser)other;
    		return this.id == that.id;
    	}
    
    	@Override
    	public int hashCode() {
    //		return id==null? System.identityHashCode(this):this.id.hashCode();
    		return (int)id;
    	}
    }
    
    
    
    
    package com.cg.test;
    
    import java.util.HashSet;
    import java.util.Set;
    
    import org.hibernate.Session;
    import org.hibernate.tutorial.util.HibernateUtil;
    import org.junit.Test;
    
    import com.cg.foo.TUser;
    
    public class TestObjIdentityEqual {
    
    	@Test
    	public void test() {
    		Session session = HibernateUtil.getSessionFactory().openSession();
    		session.beginTransaction();
    		TUser a =(TUser) session.get(TUser.class	, 7L);
    		TUser b =(TUser) session.get(TUser.class	, 7L);
    		System.out.println("测试1个session的get对象同一性:");
    		System.out.println(a == b);	//true
    		
    		session.getTransaction().commit();
    		session.close();
    		
    		Session session2 = HibernateUtil.getSessionFactory().openSession();
    		session2.beginTransaction();
    		TUser c = (TUser) session2.get(TUser.class, 7L);
    		
    		System.out.println("测试两个session的get对象同一性:");
    		System.out.println(a == c);		//false: detached & persisted
    		
    		session2.getTransaction().commit();
    		session2.close();
    		
    		Set<TUser>	setAll =new HashSet();
    		setAll.add(a);
    		setAll.add(b);
    		setAll.add(c);
    		System.out.println(setAll.size());	//size:2
    		
    	}
    
    }
    

      

  • 相关阅读:
    box-shadow 用法总结
    CSS绘制三角形
    js实现限制容器中字符个数
    解决 IE 或者兼容模式不支持 document.getElementsByClassName() 的方法
    JavaScript获取浏览器高度和宽度值(documentElement,clientHeight,offsetHeight,scrollHeight,scrollTop,offsetParent,offsetY,innerHeight)
    appium-python-api中文文档
    通过adb获取应用的Activity堆栈信息
    小米手机连接adb只显示List of devices attached
    关于如何等待一个元素的出现而不用一些笨拙粗暴的time.sleep()方法
    Appium环境搭建
  • 原文地址:https://www.cnblogs.com/wucg/p/2602125.html
Copyright © 2011-2022 走看看