欢迎来到天天文库
浏览记录
ID:45097594
大小:78.50 KB
页数:9页
时间:2019-11-09
《Hibernate3.2 官方中文参考手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Hibernate入门1.2.2映射文件映射文件告诉Hibernate,应该访问数据库(database)里面的哪个表(table)及应该使用表里面的哪些字段(column)在hibernate-mapping标签之间,含
2、有一个class元素。所有的持久化实体类都需要一个这样的映射,来把类对象映射到SQL数据库里的表。1.2.3Hibernate配置使用一个XML配置文件来保存Hibernate的配置信息(比如连接池,数据源,用户名,密码)。在这里,我们配置了Hibernate的SessionFactory-----一个关联于特定数据库全局的工厂。如果使用多个数据库,就要用多个,通常把它们放在多个配置文件中。并将相应的映射文件放在Hibernate配置中1.3第二部分----关联映射13.2单向S
3、et-based的关联我们将向Person类添加一连串的events。那样,通过调用aPerson.getEvents(),就可以轻松地导航到特定person所参加的events,而不用去执行一个显示的查询。我们使用java的集合类(collection):set,因为set不包含重复的元素及我们无关的排序。PublicclassPerson{PrivateSetevents=newHashSet();PublicSetgetEvents(){Returnevents;}PublicvoidsetEvents(S
4、etevents){this.events=evnets;}}对于多对多关联,需要一个关联表-PERSON_EVENT。表里面保存person到event的一个关联。1.3.3使关联工作使一个类与另一个类相关联。Sessonsession=HibernateUtil.getS
5、essionFactory().getCurrentSession();sesseion.beginTransaction();PersionaPerson=(Person)session.load(Person.class,personId);EventanEvent=(Event)session.load(Event.class,eventId);aPerson.getEvent().add(anEvent);session.getTransaction().commit();1.3.4值类型的集合我们把一个
6、值类型对象的结婚加入Person实体中。我们希望保存email地址,所以使用String类型。而且这次的集合类型又是Set。PERSON_EMAIL_ADDR表里面有两个字段,PERSON_ID和EMAL_ADDR。其中PERSON_ID为PERSON的主键,EMAIL_ADDR为一个String类型,用于保存地址。把这个元素加入到集合中。privatevoidaddEailToPerson(LongpersonId,StringemailAddress){Sessionsession=HibernateUtil
7、.getSessionFactory().getCurrentSession();session.beginTransaction();PersonaPerson=(Person)session.load(Persion.class,personId);aPerson.getEailAddress().add(emailAddress);session.getTransaction().commit();}1.3.5双向关联双向关联(bi-directionalassociation)----在Java里让per
8、son和event可以从关联的任何一端访问另一端。首先,把一个参与者(person)的集合加入Event类中:privateSetparticipants=newHashSet();publicSetgetParticipants(){returnparticipants;}publicvoidsetParticipants(Setparticipants){this.p
此文档下载收益归作者所有