ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>www亚洲人,一区二区在线观看视频,国产亚洲精品91在线http://www.aygfsteel.com/gkm422/category/27506.htmlå年生æ»ä¸¤èŒ«èŒ«ï¼Œä¸æ€é‡åQŒè‡ªéš‘Ö¿˜ã€‚åƒé‡Œå¤åŸï¼Œæ— 处è¯å‡„凉ã€?/description>zh-cnFri, 23 Nov 2007 06:04:14 GMTFri, 23 Nov 2007 06:04:14 GMT60- Hibernate Annotations½W”è®°http://www.aygfsteel.com/gkm422/archive/2007/11/21/162214.html哀伤血èˆ?/dc:creator>哀伤血èˆ?/author>Wed, 21 Nov 2007 13:42:00 GMThttp://www.aygfsteel.com/gkm422/archive/2007/11/21/162214.htmlhttp://www.aygfsteel.com/gkm422/comments/162214.htmlhttp://www.aygfsteel.com/gkm422/archive/2007/11/21/162214.html#Feedback0http://www.aygfsteel.com/gkm422/comments/commentRss/162214.htmlhttp://www.aygfsteel.com/gkm422/services/trackbacks/162214.htmlDescn属性ä¸å˜åœ¨äºŽæ•°æ®åº“ä¸ï¼Œç”¨@Transient 注明 Â
------------------------------------------Â Â
1,需è¦? Hibernate库文ä»?Hibernate Annotationsåº?ejb3-persstence.jar(Java æŒä¹…化API) Â
sessionFactory=new AnnotationConfiguration().buildSessionFactory();Â Â
------------------------------------------Â Â
2,<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">Â Â
    <property name="annotatedClasses"> Â
     <list> Â
       <value>com.onjava.modelplanes.domain.PlaneType</value> Â
     </list> Â
    </property> Â
 </bean> Â
------------------------------------------Â Â
1,@Entity Â
@Table(name = "teacher_info")Â Â
@IdClass(UUIDHexGenerator.class)Â Â Â
public class UserMember implements java.io.Serializable Â
2,@entity通过getters/settersæ–ÒŽ³•讉K—®åQŒæˆ–直接讉K—®ä»–çš„æˆå‘˜å˜é‡ã€‚ Â?
@Entity(access = AccessType.PROPERTY)Â Â
@Entity(access = AccessType.FIELD)Â Â
------------------------------------------Â Â
æ˜ å°„æ ‡è¯†½W¦Â Â?
1,@Id Â
@GeneratedValue(strategy = GenerationType.AUTO)Â Â
private String id;Â Â
2,@Id(generate=GeneratorType.SEQUENCE, generator='SEQ_STORE')Â Â
3,@Id(generate=GeneratorType.IDENTITY)Â Â
------------------------------------------Â Â
æ˜ å°„å±žæ€§Â Â?
1,@Transient Â
2,@Column(name="PLANE_ID", length=80, nullable=true)Â Â
3,@Basic(fetch = FetchType.LAZY)Â Â
4,@Serialized å‡¡æ ‡è¯†@Serialized的属性将被åºåˆ—化 Â
public Country getCountry() { ... }Â Â
5,@Lobæ ‡è¯†äº†å˜å‚¨å¯¹è±¡å¯èƒ½æ˜¯ä¸ªCLOB或者BLOB。 Â?
@Lob(type=LobType.CLOB)Â Â
public String getFullText(){return fullText;}Â Â
@Lob(type = LobType.BLOB)Â Â
public byte[] getFullCode() {return fullCode;}Â Â
@Version 定义ä¹è§‚锿œºåˆ¶ä‹É用 Â?
------------------------------------------Â Â
å…Œ™”关系: Â
一ã€ä¸€å¯¹ä¸€: Â
1,@OneToOne(mappedBy = "address")Â Â Â Â Â Â
public User getUser() {Â Â Â Â Â Â
     return user;     Â
}Â Â Â Â Â
1ã€ä¸¤è¾šwƒ½å®šä¹‰äº†@OneToOneåQŒä½†éƒ½æ²¡æœ‰å®šä¹‰mappedBy,则userå’Œaddress表都会生æˆåˆ°å¯ÒŽ–¹çš„å¤–é”®ï¼ŒåŒæ–¹éƒ½æ˜¯˜q™ä¸ªå…³ç³»çš„æ‹¥æœ‰è€…。  Â?
2ã€ä¸¤è¾šwƒ½å®šä¹‰äº†@OneToOneåQŒå¦‚æžœuser定义了mappedByåQŒåˆ™åœ¨address表生æˆåˆ°user的外键,address是这个关¾pÈš„拥有者;如果address定义 Â
了mappedByåQŒåˆ™åœ¨user表生æˆåˆ°address的外键,user是这个关¾pÈš„拥有者。 Â?
 Â
二ã€ä¸€å¯¹å¤š,多对一: Â
2,@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )Â Â
3,@OneToMany(mappedBy="planeType",cascade=CascadeType.ALL, fetch=FetchType.EAGER)Â Â
@OrderBy("name")Â Â
public List<ModelPlane> getModelPlanes() {Â Â
   return modelPlanes; Â
}Â Â
å…¶ä¸å®šä¹‰mappedBy的是@OneToMany,也就是说One˜q™ä¸€æ–ÒŽ˜¯å…³ç³»çš„æ‹¥æœ‰è€…。Many一方的表ä¸ç”Ÿæˆåˆ°å…³è”类的外键。  Â?
 Â
三ã€@ManyToMany   Â
private Set authors = new HashSet<Author>();Â Â Â Â Â Â
@ManyToMany    Â
public Set<Author> getAuthors(){Â Â Â Â Â Â
return authors;Â Â Â Â Â Â
}Â Â Â Â Â Â Â
    Â
private Set books = new HashSet<Book>();Â Â Â Â Â Â Â
@ManyToMany(mappedBy="authors")Â Â Â Â Â Â
public Set<Book> getBooks(){Â Â Â Â Â Â
return books;Â Â Â Â Â Â
}Â Â Â Â Â Â
@ManyToMany会生æˆä¸é—´è¡¨åQŒå…·ä½“表åå’Œå—æ®µå¯ä»¥é€šè¿‡@AssociationTableæ¥å®šä¹‰ï¼Œé»˜è®¤çš„å°±å¯ä»¥äº†ï¼ŒåŒæ ·å…³ç³»çš„éžæ‹¥æœ‰è€…,需è¦å®šä¹‰mappedBy属性。 Â?
------------------------------------------Â Â
å‘½åæŸ¥è¯¢Â Â
ä½ ä¹Ÿå¯ä»¥é€šè¿‡æ³¨è§£,利用@NameQuerieså’Œ@NameQuery注解,如下: Â
@NamedQueries(Â Â
{Â Â Â
@NamedQuery(name="planeType.findAll",query="select p from PlaneType p" ), Â
@NamedQuery(name="planeType.delete",query="delete from PlaneType where id=:id" )Â Â
 } Â
)Â Â
------------------------------------------Â Â
内嵌对象åQˆç»„ä»Óž¼‰Â Â
@Embedded({Â Â
  @AttributeOverride(name='iso2', column = @Column(name='bornIso2') ), Â
  @AttributeOverride(name='name', column = @Column(name='bornCountryName') ) Â
        }) Â
   Country bornIn; Â
   ... Â
}Â Â
 Â
@Embeddable(access = AccessType.FIELD)Â Â
public class Address implements Serializable {Â Â
   String city; Â
   Country nationality; Â
}Â Â
 Â
 Â
@Embeddable Â
public class Country implements Serializable {Â Â
   private String iso2; Â
   private String name; Â
 Â
   public String getIso2() { return iso2; } Â
   public void setIso2(String iso2) { this.iso2 = iso2; } Â
 Â
   @Column(name='countryName') Â
   public String getName() { return name; } Â
   public void setName(String name) { this.name = name; } Â
   ... Â
}Â Â
------------------------------------------Â Â
自定义的主键生戽{–略 Â
@javax.persistence.GeneratedIdTable(Â Â
  name='GEN_TABLE', Â
 table = @Table(name='GENERATOR_TABLE'), Â
   pkColumnName = 'key', Â
     valueColumnName = 'hi' Â
)Â Â
 Â
@javax.persistence.TableGenerator(Â Â
   name='EMP_GEN', Â
   tableName='GEN_TABLE', Â
   pkColumnValue='EMP', Â
   allocationSize=20 Â
)Â Â
@javax.persistence.SequenceGenerator(Â Â
   name='SEQ_GEN', Â
   sequenceName='my_sequence' Â
)Â Â
package org.hibernate.test.metadata;Â Â 
]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º
»áÍ¬ÏØ|
ÇÒÄ©ÏØ|
ÎÚÀÌØÇ°Æì|
ÐËÉ½ÏØ|
¶´Í·ÏØ|
ÈýÃ÷ÊÐ|
ÌÁ¹ÁÇø|
»áÔóÏØ|
ÎÚÀÌØÖÐÆì|
èï´¨ÏØ|
Ñ®ÒØÏØ|
ÂÖÌ¨ÏØ|
ʱÉÐ|
³¤ÄþÇø|
ÖêÖÞÊÐ|
פÂíµêÊÐ|
ÁÖÖÜÏØ|
ÁÖÖ¥ÏØ|
å´²ýÏØ|
¾°µÂÕòÊÐ|
°¢°ÓÏØ|
³±°²ÏØ|
µ÷±øÉ½ÊÐ|
ÍòÄþÊÐ|
³ç×óÊÐ|
ÀϺӿÚÊÐ|
ÓÀÄêÏØ|
ÁºÆ½ÏØ|
ÎäÄþÏØ|
ÎàÖÝÊÐ|
ÌÒÔ°ÊÐ|
¡²ýÏØ|
ÁÙ½ÊÐ|
ÐËÒåÊÐ|
ÓÀ²ýÏØ|
ÎäÏçÏØ|
ÄÏÀÖÏØ|
̨¶«ÊÐ|
¡»¯ÏØ|
ÓÀË³ÏØ|
³Ê¹±ÏØ|