- 浏览: 570099 次
文章分类
- 全部博客 (235)
- 数据库 (12)
- j2se (10)
- JQuery (2)
- 经验总结 (4)
- 防毒 (1)
- Struts (20)
- Spring (12)
- 项目 (3)
- 电脑维修项目 (1)
- Eclipse (2)
- JSP (13)
- mysql (5)
- Hibernate (54)
- ssh (1)
- 学习网站 (1)
- tomcat (9)
- servlet (24)
- java语言基础 (1)
- jbpm (1)
- linux (0)
- 技巧积累 (1)
- javaBean (2)
- 设计模式 (2)
- 实用的操作 (9)
- oracle (1)
- UML学习 (1)
- 版本控制 (1)
- 框架 (9)
- javaWeb基础 (13)
- c语言 (0)
- ant (0)
- 关于权限 (3)
- 真正开发有用 (5)
- javascript (2)
- 算法 (1)
- J2EE (1)
- junit (1)
最新评论
-
alleni123:
不错 一搜就搜到这个了
ssession和servletContext的比较 -
hua7381:
楼主,你真实帮了大忙了!!
万能乱码处理---url传中文 -
albrich:
1楼是正解
摘] 装了个Tomcat遇到的问题 -
JA_mcj:
ssession和servletContext的比较 -
haotw:
看了很有帮助,总算对hibernate的延迟加载有一定的了解了 ...
[转]hibernate延迟加载
java 代码
- public class User implements java.io.Serializable {
- // Fields
- private UserId id;
- private String email;
- // Constructors
- /** default constructor */
- public User() {
- }
- /** full constructor */
- public User(String email) {
- this.email = email;
- }
- // Property accessors
- public UserId getId() {
- return this.id;
- }
- public void setId(UserId id) {
- this.id = id;
- }
- public String getEmail() {
- return this.email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- }
java 代码
- public class UserId implements java.io.Serializable {
- // Fields
- private String addr;
- private String name;
- // Constructors
- /** default constructor */
- public UserId() {
- }
- /** full constructor */
- public UserId(String addr, String name) {
- this.addr = addr;
- this.name = name;
- }
- // Property accessors
- public String getAddr() {
- return this.addr;
- }
- public void setAddr(String addr) {
- this.addr = addr;
- }
- public String getName() {
- return this.name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public boolean equals(Object other) {
- if ( (this == other ) ) return true;
- if ( (other == null ) ) return false;
- if ( !(other instanceof UserId) ) return false;
- UserId castOther = ( UserId ) other;
- return ( (this.getAddr()==castOther.getAddr()) || ( this.getAddr()!=null && castOther.getAddr()!=null && this.getAddr().equals(castOther.getAddr()) ) )
- && ( (this.getName()==castOther.getName()) || ( this.getName()!=null && castOther.getName()!=null && this.getName().equals(castOther.getName()) ) );
- }
- public int hashCode() {
- int result = 17;
- result = 37 * result + ( getAddr() == null ? 0 : this.getAddr().hashCode() );
- result = 37 * result + ( getName() == null ? 0 : this.getName().hashCode() );
- return result;
- }
- }
xml 代码
- <hibernate-mapping>
- <class name="User" table="user" catalog="tie">
- <composite-id name="id" class="UserId">
- <key-property name="addr" type="string">
- <column name="addr" length="45" />
- key-property>
- <key-property name="name" type="string">
- <column name="name" length="45" />
- key-property>
- composite-id>
- <property name="email" type="string">
- <column name="email" length="45" />
- property>
- class>
- hibernate-mapping>
这里把主键当成一个类,--->主键类.
有2点.
1,必须实现serializable
2.重写equals方法和hascode方法
xml中用compodite-id
测试的方法
java 代码
- public void testCase(){
- UserId id = new UserId();
- id.setName("linwei");
- id.setAddr("beijing");
- User user = new User();
- user.setId(id);
- user.setEmail("linweihan@163.com");
- Session session = factory.openSession();
- Transaction tr = session.beginTransaction();
- session.save(user);
- tr.commit();
- session.close();
- }
- public void testRetrieve(){
- UserId id = new UserId();
- id.setName("linwei");
- id.setAddr("beijing");
- Session session = factory.openSession();
- User user = (User)session.get(User.class, id);
- System.out.println(user.getEmail());
- session.close();
- }
发表评论
-
多对多双项关联
2007-12-02 16:39 4088数据库中仍然是利用一个中间表 持久化类中,都各自包含对方的集合 ... -
多对多单项关联
2007-12-02 16:02 44981.多对多单项关联 在数据库中多对多的关系,表之间设置一个中间 ... -
一对一关联
2007-12-02 14:13 3636一对一的关联 分为外键关联和主键关联 外键关联:在关系模型的表 ... -
双向的多对一或者双向的一对多
2007-12-02 00:38 3573一对多或者多对一都是从一方来看, 双向是从两个方向来看 这个时 ... -
一对多的另一个问题
2007-12-02 00:19 3329如果email 的一方设置uid 不能为空的话回报错,所以需要 ... -
做一对多遇到的几个问题(单向)
2007-12-02 00:14 3281java 代码 public class Use ... -
多对一举例(单项的,从一个方向看)
2007-12-01 23:15 3643java 代码 public class Use ... -
hibernate多对一
2007-12-01 22:59 4265处理多对一的时候 感觉关系模型多对一和一对多是一样的 在域模型 ... -
[转]Hibernate中的outer-join(二):fetch
2007-12-01 22:49 4615... -
hibernate中集合排序
2007-12-01 18:49 3692set,map可以支持内存排序和数据库排序 List什么都不支 ... -
[转] hibernate中给集合排序的方法
2007-12-01 18:47 5769<iframe style="MARGIN ... -
[转]集合类型和结果集排序
2007-12-01 18:39 3504言归正传,Hibernate中的Collection类型分为有 ... -
[转]hibernate延迟加载
2007-12-01 18:22 5990hibernate 延迟加载问题探 ... -
[转]主键自动生成办法
2007-12-01 18:11 3431... -
[转]hibernate中的 bag--解释的太好了.
2007-12-01 17:25 20447Bag是集合,与Set不同的是,Bag允许重复的元素, 在Ja ... -
hibernate值类型集合映射之Map
2007-12-01 17:02 2916java 代码 public class Use ... -
hibernate值类型集合映射之List
2007-12-01 16:43 3319java 代码 public class Use ... -
值类型映射---Set(2)
2007-12-01 13:43 3124这里自定义Email类,set里面放的是 email 类,非 ... -
值类型映射---Set(1)
2007-12-01 13:20 3410这里介绍2种不同的域模型的设计, 一种是Set里面装Strin ... -
事务的作用
2007-12-01 12:41 4565事务的作用是为了防止修改数据库, 如果只是查询那么就没必要修改 ...
评论
还有serializable接口的作用是啥?