From hibernate-commits at lists.jboss.org Tue Mar 9 09:49:40 2010 Content-Type: multipart/mixed; boundary="===============6257961783821835400==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r18940 - core/trunk/annotations/src/main/docbook/en/modules. Date: Tue, 09 Mar 2010 09:49:40 -0500 Message-ID: <201003091449.o29Ene6g009158@svn01.web.mwc.hst.phx2.redhat.com> --===============6257961783821835400== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2010-03-09 09:49:39 -0500 (Tue, 09 Mar 2010) New Revision: 18940 Modified: core/trunk/annotations/src/main/docbook/en/modules/additionalmodules.xml core/trunk/annotations/src/main/docbook/en/modules/entity.xml core/trunk/annotations/src/main/docbook/en/modules/setup.xml core/trunk/annotations/src/main/docbook/en/modules/xml-overriding.xml Log: HHH-4933 move to jHighlighting Modified: core/trunk/annotations/src/main/docbook/en/modules/additionalmodu= les.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/annotations/src/main/docbook/en/modules/additionalmodules.xm= l 2010-03-09 10:48:53 UTC (rev 18939) +++ core/trunk/annotations/src/main/docbook/en/modules/additionalmodules.xm= l 2010-03-09 14:49:39 UTC (rev 18940) @@ -122,7 +122,7 @@ ddl together by setting the property to callback, dll = - <persistence ...&= gt; + <persistence ...&= gt; <persistence-unit ...> ... <properties> @@ -171,7 +171,7 @@ Using custom groups for validation = - <persistence ...&= gt; + <persistence ...&= gt; <persistence-unit ...> ... <properties> Modified: core/trunk/annotations/src/main/docbook/en/modules/entity.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/annotations/src/main/docbook/en/modules/entity.xml 2010-03-0= 9 10:48:53 UTC (rev 18939) +++ core/trunk/annotations/src/main/docbook/en/modules/entity.xml 2010-03-0= 9 14:49:39 UTC (rev 18940) @@ -63,7 +63,7 @@ Every persistent POJO class is an entity and is declared using= the @Entity annotation (at the class level): = - @Entity + @Entity public class Flight implements Serializable { Long id; = @@ -102,7 +102,7 @@ mapping. If no @Table is defined the default va= lues are used: the unqualified class name of the entity. = - @Entity + @Entity @Table(name=3D"tbl_sky") public class Sky implements Serializable { ... @@ -117,7 +117,7 @@ @Column.unique approach (refer to @Column for more information). = - @Table(name=3D"tbl= _sky", + @Table(name=3D"tbl= _sky", uniqueConstraints =3D {@UniqueConstraint(columnNames=3D{"month", "day"= })} ) = @@ -142,7 +142,7 @@ You can add optimistic locking capability to an entity using= the @Version annotation: = - @Entity + @Entity public class Flight implements Serializable { ... @Version @@ -182,7 +182,7 @@ annotation allows you to declare the fetching strategy for a property: = - public transient i= nt counter; //transient property + public transient i= nt counter; //transient property = private String firstname; //persistent property = @@ -252,7 +252,7 @@ byte[] and serializable type will be persis= ted in a Blob. = - + @Lob public String getFullText() { return fullText; @@ -313,7 +313,7 @@ To force the access type on a given class, use the @Access annotation as showed below: = - @Entity + @Entity public class Order { @Id private Long id; public Long getId() { return id; } @@ -348,7 +348,7 @@ You can also override the access type of a single property w= hile keeping the other properties standard. = - @Entity + @Entity public class Order { @Id private Long id; public Long getId() { return id; } @@ -408,7 +408,7 @@ = - + @Entity public class Flight implements Serializable { ... @@ -448,7 +448,7 @@ = - @Column( + @Column( name=3D"columnName"; boolean unique() default false; boolean nullable() default true; @@ -528,7 +528,7 @@ @Embedded and @AttributeOverride annotation in the associated property: = - @Entity + @Entity public class Person implements Serializable { = // Persistent component using defaults @@ -543,13 +543,13 @@ ... } = - @Embeddable + @Embeddable public class Address implements Serializable { String city; Country nationality; //no overriding here } = - @Embeddable + @Embeddable public class Country implements Serializable { private String iso2; @Column(name=3D"countryName") private String name; @@ -582,20 +582,21 @@ columns of embedded objects of embedded objects is through dotted expressions. = - @Embedded + @Embedded @AttributeOverrides( { @AttributeOverride(name=3D"city", column =3D @Column(name=3D"f= ld_city") ), @AttributeOverride(name=3D"nationality.iso2", column =3D @Colu= mn(name=3D"nat_Iso2") ), @AttributeOverride(name=3D"nationality.name", column =3D @Colu= mn(name=3D"nat_CountryName") ) //nationality columns in homeAddress are overridden } ) - Address homeAddress;Hibernate Annotations suppo= rts - something that is not explicitly supported by the JPA specificatio= n. - You can annotate a embedded object with the - @MappedSuperclass annotation to make the superc= lass - properties persistent (see @MappedSuperclass for - more informations). + Address homeAddress; = + Hibernate Annotations supports something that is not explici= tly + supported by the JPA specification. You can annotate a embedded ob= ject + with the @MappedSuperclass annotation to make t= he + superclass properties persistent (see + @MappedSuperclass for more informations). + You can also use association annotations in an embeddable ob= ject (ie @OneToOne, @ManyToOne, @OneToMany or @ManyToMany). @@ -691,12 +692,12 @@ The following example shows a sequence generator using the SEQ_STORE configuration (see below) = - @Id @GeneratedValu= e(strategy=3DGenerationType.SEQUENCE, generator=3D"SEQ_STORE") + @Id @GeneratedValu= e(strategy=3DGenerationType.SEQUENCE, generator=3D"SEQ_STORE") public Integer getId() { ... } = The next example uses the identity generator: = - @Id @GeneratedValu= e(strategy=3DGenerationType.IDENTITY) + @Id @GeneratedValu= e(strategy=3DGenerationType.IDENTITY) public Long getId() { ... } = The AUTO generator is the preferred type = for @@ -711,7 +712,7 @@ Application level generators are defined at XML level (see ): = - <table-generato= r name=3D"EMP_GEN" + <table-generato= r name=3D"EMP_GEN" table=3D"GENERATOR_TABLE" pk-column-name=3D"key" value-column-name=3D"hi" @@ -782,7 +783,7 @@ The next example shows the definition of a sequence generato= r in a class scope: = - @Entity + @Entity @javax.persistence.SequenceGenerator( name=3D"SEQ_STORE", sequenceName=3D"my_sequence" @@ -805,7 +806,7 @@ foreign generator but the JPA mapping reads better and is encouraged. = - @Entity + @Entity class MedicalHistory implements Serializable { @Id @OneToOne @JoinColumn(name =3D "person_id") @@ -819,7 +820,7 @@ = Or alternatively = - @Entity + @Entity class MedicalHistory implements Serializable { @Id Integer id; = @@ -891,7 +892,7 @@ Here is a simple example of @EmbeddedId. = - @Entity + @Entity class User { @EmbeddedId @AttributeOverride(name=3D"firstName", column=3D@Column(name=3D"fld_firs= tname") @@ -913,7 +914,7 @@ An embedded id can itself contains the primary key of an associated entity. = - @Entity + @Entity class Customer { @EmbeddedId CustomerId id; boolean preferredCustomer; @@ -969,7 +970,7 @@ association directly in the embedded id component (instead of ha= ving to use the @MapsId annotation). = - @Entity + @Entity class Customer { @EmbeddedId CustomerId id; boolean preferredCustomer; @@ -1007,7 +1008,7 @@ approach is only supported by Hibernate but does not require an extra embeddable component. = - @Entity + @Entity class Customer implements Serializable { @Id @OneToOne @JoinColumns({ @@ -1055,7 +1056,7 @@ and Hibernate supports it. = - @Entity + @Entity class Customer { @Id @OneToOne @JoinColumns({ @@ -1095,7 +1096,7 @@ vanilla associated property in the @IdClass. = - @Entity + @Entity class Customer { @Id @OneToOne @JoinColumns({ @@ -1141,7 +1142,7 @@ this feature. = - @Entity + @Entity public class CustomerInventory implements Serializable { @Id @TableGenerator(name =3D "inventory", @@ -1210,7 +1211,7 @@ UNION queries. It is commonly used for the top level of = an inheritance hierarchy: = - @Entity + @Entity @Inheritance(strategy =3D InheritanceType.TABLE_PER_CLASS) public class Flight implements Serializable { ... } = @@ -1229,7 +1230,7 @@ same table, instances are distinguished by a special discriminator column: = - @Entity + @Entity @Inheritance(strategy=3DInheritanceType.SINGLE_TABLE) @DiscriminatorColumn( name=3D"planetype", @@ -1269,7 +1270,7 @@ @PrimaryKeyJoinColumns annotations define the primary key(s) of the joined subclass table: = - @Entity + @Entity @Inheritance(strategy=3DInheritanceType.JOINED) public class Boat implements Serializable { ... } = @@ -1296,7 +1297,7 @@ mapped entity (ie no specific table for this entity). For that pur= pose you can map them as @MappedSuperclass. = - @MappedSuperclass + @MappedSuperclass public class BaseEntity { @Basic @Temporal(TemporalType.TIMESTAMP) @@ -1351,7 +1352,7 @@ root entity level using the @AttributeOverride annotation. = - @MappedSuperclass + @MappedSuperclass public class FlyingObject implements Serializable { = public int getAltitude() { @@ -1412,7 +1413,7 @@ First, we map a real one-to-one association using shared pri= mary keys: = - @Entity + @Entity public class Body { @Id public Long getId() { return id; } @@ -1425,7 +1426,7 @@ ... } = - @Entity + @Entity public class Heart { @Id public Long getId() { ...} @@ -1438,7 +1439,7 @@ In the following example, the associated entities are linked through an explicit foreign key column: = - @Entity + @Entity public class Customer implements Serializable { @OneToOne(cascade =3D CascadeType.ALL) @JoinColumn(name=3D"passport_fk") @@ -1492,7 +1493,7 @@ The third possibility (using an association table) is quite exotic. = - @Entity + @Entity public class Customer implements Serializable { @OneToOne(cascade =3D CascadeType.ALL) @JoinTable(name =3D "CustomerPassports", @@ -1530,7 +1531,7 @@ Many-to-one associations are declared at the property level = with the annotation @ManyToOne: = - @Entity() + @Entity() public class Flight implements Serializable { @ManyToOne( cascade =3D {CascadeType.PERSIST, CascadeType.MERGE} ) @JoinColumn(name=3D"COMP_ID") @@ -1555,7 +1556,7 @@ almost all cases. However this is useful when you want to use interfaces as the return type instead of the regular entity. = - @Entity + @Entity public class Flight implements Serializable { @ManyToOne( cascade =3D {CascadeType.PERSIST, CascadeType.MERGE}, targ= etEntity=3DCompanyImpl.class ) @JoinColumn(name=3D"COMP_ID") @@ -1577,7 +1578,7 @@ referencing the target entity table (through @JoinTable.inverseJoinColumns). = - @Entity + @Entity public class Flight implements Serializable { @ManyToOne( cascade =3D {CascadeType.PERSIST, CascadeType.MERGE} ) @JoinTable(name=3D"Flight_Company", @@ -1619,7 +1620,7 @@ association is annotated by @OneToMany(mappedBy=3D...) = - @Entity + @Entity public class Troop { @OneToMany(mappedBy=3D"troop") public Set<Soldier> getSoldiers() { @@ -1647,7 +1648,7 @@ false. This solution is not optimized and will produce some additional UPDATE statements. = - @Entity + @Entity public class Troop { @OneToMany @JoinColumn(name=3D"troop_fk") //we need to duplicate the physical inf= ormation @@ -1674,7 +1675,7 @@ association is described through a @JoinColumn = - @Entity + @Entity public class Customer implements Serializable { @OneToMany(cascade=3DCascadeType.ALL, fetch=3DFetchType.EAGER) @JoinColumn(name=3D"CUST_ID") @@ -1699,7 +1700,7 @@ preferred. This association is described through an @JoinTable. = - @Entity + @Entity public class Trainer { @OneToMany @JoinTable( @@ -1740,7 +1741,7 @@ added to the foreign key referencing the other side table to reflect the one to many. = - @Entity + @Entity public class Trainer { @OneToMany public Set<Tiger> getTrainedTigers() { @@ -1776,7 +1777,7 @@ the inverse end (ie. it will be ignored when updating the relationship values in the association table): = - @Entity + @Entity public class Employer implements Serializable { @ManyToMany( targetEntity=3Dorg.hibernate.test.metadata.manytomany.Employee.cla= ss, @@ -1793,7 +1794,7 @@ ... } = - @Entity + @Entity public class Employee implements Serializable { @ManyToMany( cascade =3D {CascadeType.PERSIST, CascadeType.MERGE}, @@ -1835,7 +1836,7 @@ and the other side primary key column(s). These are the same r= ules used for a unidirectional one to many relationship. = - + @Entity public class Store { @ManyToMany(cascade =3D CascadeType.PERSIST) @@ -1867,7 +1868,7 @@ the other side primary key column(s). These are the same rules used for a unidirectional one to many relationship. = - @Entity + @Entity public class Store { @ManyToMany(cascade =3D {CascadeType.PERSIST, CascadeType.MERGE}) public Set<Customer> getCustomers() { @@ -1899,7 +1900,7 @@ objects. Use the @ElementCollection in th= is case. = - @Entity + @Entity public class User { [...] public String getLastname() { ...} @@ -1927,7 +1928,7 @@ embeddable object in the collection table, use the @AttributeOverride annotation. = - @Entity + @Entity public class User { [...] public String getLastname() { ...} @@ -1956,7 +1957,7 @@ key. prefix to override properties of the embeddable object used in the map key. = - @Entity + @Entity public class User { @ElementCollection @AttributeOverrides({ @@ -1999,7 +2000,7 @@ collection will be ordered by the primary key of the target entity. = - @Entity + @Entity public class Customer { @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id =3D id; } @@ -2047,7 +2048,7 @@ ORDER (in the following example, it would be orders_ORDER). = - @Entity + @Entity public class Customer { @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id =3D id; } @@ -2112,7 +2113,7 @@ other words, if you change the property value, the key will not change automatically in your Java model. = - @Entity + @Entity public class Customer { @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id =3D id; } @@ -2187,7 +2188,7 @@ should wonder why at this day and age you don't use generics). = - @Entity + @Entity public class Customer { @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id =3D id; } @@ -2375,7 +2376,7 @@ to true. In a way, it means that the associated entity's lifecycle= is bound to the owning entity just like an embeddable object is. = - @Entity class Cust= omer { + @Entity class Cust= omer { @OneToMany(orphanRemoval=3Dtrue) public Set<Order> getOrders() { = return orders; } public void setOrders(Set<Order> orders) { this.orders =3D orders= ; } private Set<Order> orders; @@ -2428,7 +2429,7 @@ You can also use @IdClass. These are more detaile= d in . = - @Entity + @Entity public class RegionalArticle implements Serializable { = @Id @@ -2440,7 +2441,7 @@ = or alternatively = - @Entity + @Entity public class RegionalArticle implements Serializable { = @EmbeddedId @@ -2458,7 +2459,7 @@ explicitly. Otherwise, Hibernate will suppose that you use the same order of columns as in the primary key declaration. = - @Entity + @Entity public class Parent implements Serializable { @Id public ParentPk id; @@ -2474,7 +2475,7 @@ ... } = - @Entity + @Entity public class Child implements Serializable { @Id @GeneratedValue public Integer id; @@ -2488,7 +2489,7 @@ public Parent parent; //unidirectional } = - @Embeddable + @Embeddable public class ParentPk implements Serializable { String firstName; String lastName; @@ -2509,7 +2510,7 @@ parameter of @Column or @JoinColumn. = - @Entity + @Entity @Table(name=3D"MainCat") @SecondaryTables({ @SecondaryTable(name=3D"Cat1", pkJoinColumns=3D{ @@ -2623,7 +2624,7 @@ that. = - @Entity @Cacheable + @Entity @Cacheable @Cache(usage =3D CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) public class Forest { ... } = @@ -2632,7 +2633,7 @@ @Cache annotation on the collection property. = - @OneToMany(cascade= =3DCascadeType.ALL, fetch=3DFetchType.EAGER) + @OneToMany(cascade= =3DCascadeType.ALL, fetch=3DFetchType.EAGER) @JoinColumn(name=3D"CUST_ID") @Cache(usage =3D CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) public SortedSet<Ticket> getTickets() { @@ -2651,7 +2652,7 @@ = - @Cache( + @Cache( CacheConcurrencyStrategy usage(); String region() default ""; String include() default "all"; @@ -2708,7 +2709,7 @@ manager factory scope. A named query is defined by its name and the actual query string. = - <entity-mappings&= gt; + <entity-mappings&= gt; <named-query name=3D"plane.getAll"> <query>select p from Plane p</query> </named-query> @@ -2738,7 +2739,6 @@ = The available Hibernate hints are = - Query hints = @@ -2837,7 +2837,7 @@ definitions are optional provided that they map to the same column n= ame as the one declared on the class property. = - @NamedNativeQuery(na= me=3D"night&area", query=3D"select night.id nid, night.night_duration, " + @NamedNativeQuery(na= me=3D"night&area", query=3D"select night.id nid, night.night_duration, " + " night.night_date, area.id aid, night.area_id, area.name " + "from Night night, Area area where night.area_id =3D area.id", = resultSetMapping=3D"joinMapping") @@ -2863,7 +2863,7 @@ column name, actually the column name retrieved by the query. Let's = now see an implicit declaration of the property / column. = - @Entity + @Entity @SqlResultSetMapping(name=3D"implicit", entities=3D@EntityResult(entityClass=3DSpaceShip.clas= s)) @NamedNativeQuery(name=3D"implicitSample", = @@ -2911,7 +2911,7 @@ property name for the relationship, followed by a dot ("."), followe= d by the name or the field or property of the primary key. = - @Entity + @Entity @SqlResultSetMapping(name=3D"compositekey", entities=3D@EntityResult(entityClass=3DSpaceShip.class, fields =3D { @@ -3014,7 +3014,7 @@ mapping, you can use the resultClass attribute instead of resultSetMapping: = - @NamedNativeQuery(na= me=3D"implicitSample", query=3D"select * from SpaceShip", + @NamedNativeQuery(na= me=3D"implicitSample", query=3D"select * from SpaceShip", resultClass=3DSpaceShip.class) public class SpaceShip { = @@ -3025,7 +3025,7 @@ and scalar returns in the same native query (this is probably not th= at common though). = - @SqlResultSetMapping= (name=3D"scalar", columns=3D@ColumnResult(name=3D"dimension")) + @SqlResultSetMapping= (name=3D"scalar", columns=3D@ColumnResult(name=3D"dimension")) @NamedNativeQuery(name=3D"scalar", query=3D"select length*width as dimensi= on from SpaceShip", resultSetMapping=3D"scalar") = An other query hint specific to native queries has been @@ -3187,7 +3187,7 @@ implements persistence via, for example, stored procedure calls, serialization to flat files or LDAP. = - @Entity + @Entity @BatchSize(size=3D5) @org.hibernate.annotations.Entity( selectBeforeUpdate =3D true, @@ -3197,7 +3197,9 @@ @Where(clause=3D"1=3D1") @org.hibernate.annotations.Table(name=3D"Forest", indexes =3D { @Index(nam= e=3D"idx", columnNames =3D { "name", "length" } ) } ) @Persister(impl=3DMyEntityPersister.class) -public class Forest { ... } @Entity +public class Forest { ... } + + @Entity @Inheritance( strategy=3DInheritanceType.JOINED ) @@ -3222,7 +3224,7 @@ allows you to define an Hibernate specific id generator. = - @Id @GeneratedValu= e(generator=3D"system-uuid") + @Id @GeneratedValu= e(generator=3D"system-uuid") @GenericGenerator(name=3D"system-uuid", strategy =3D "uuid") public String getId() { = @@ -3247,7 +3249,7 @@ annotations, making them application level generators (just like if they were in a JPA XML file). = - @GenericGenerators( + @GenericGenerators( { @GenericGenerator( name=3D"hibseq", @@ -3275,7 +3277,7 @@ composed of all the properties marked @NaturalId. = - @Entity + @Entity public class Citizen { @Id @GeneratedValue @@ -3317,7 +3319,7 @@ property into a column. This kind of property is read only (its va= lue is calculated by your formula fragment). = - @Formula("obj_leng= th * obj_height * obj_width") + @Formula("obj_leng= th * obj_height * obj_width") public long getObjectVolume() = The SQL fragment can be as complex as you want and even incl= ude @@ -3353,7 +3355,7 @@ Place your annotations before the package declaration. = - @TypeDef( + @TypeDef( name =3D "phoneNumber", defaultForType =3D PhoneNumber.class, typeClass =3D PhoneNumberType.class @@ -3372,7 +3374,7 @@ parameters attribute to customize the TypeDef. = - //in org/hibernate= /test/annotations/entity/package-info.java + //in org/hibernate= /test/annotations/entity/package-info.java @TypeDefs( { @TypeDef( @@ -3397,7 +3399,7 @@ definitions. The @Columns has been introduced f= or that purpose. = - @Type(type=3D"org.= hibernate.test.annotations.entity.MonetaryAmountUserType") + @Type(type=3D"org.= hibernate.test.annotations.entity.MonetaryAmountUserType") @Columns(columns =3D { @Column(name=3D"r_amount"), @Column(name=3D"r_currency") @@ -3421,7 +3423,7 @@ @Index annotation on a one column property, the columnNames attribute will then be ignored = - @Column(secondaryT= able=3D"Cat1") + @Column(secondaryT= able=3D"Cat1") @Index(name=3D"story1index") public String getStoryPart1() { return storyPart1; @@ -3434,7 +3436,7 @@ When inside an embeddable object, you can define one of the properties as a pointer back to the owner element. = - @Entity + @Entity public class Person { @Embeddable public Address address; ... @@ -3457,7 +3459,7 @@ database. Hibernate can deal with such properties and triggers a subsequent select to read these properties. = - @Entity + @Entity public class Antenna { @Id public Integer id; @Generated(GenerationTime.ALWAYS) = @@ -3491,7 +3493,7 @@ targetEntity attribute available on associations. = - @Embedded + @Embedded @Target(OwnerImpl.class) public Owner getOwner() { return owner; @@ -3523,7 +3525,7 @@ formula for discriminator resolution (no need to have a dedicated column). = - @Entity + @Entity @DiscriminatorFormula("case when forest_type is null then 0 else forest_ty= pe end") public class Forest { ... } = @@ -3538,7 +3540,7 @@ You can define the foreign key name generated by Hibernate for subclass tables in the JOINED inheritance strategy. = - @Entity + @Entity @Inheritance(strategy =3D InheritanceType.JOINED) public abstract class File { ... } = @@ -3564,7 +3566,7 @@ @ManyToOne, @OneToMany or @ManyToMany association. = - @Entity + @Entity public class Child { ... @ManyToOne @@ -3576,7 +3578,7 @@ Sometimes you want to delegate to your database the deletion of cascade when a given entity is deleted. = - @Entity + @Entity public class Child { ... @ManyToOne @@ -3592,7 +3594,7 @@ fairly unreadable name. You can override the constraint name by use @ForeignKey. = - @Entity + @Entity public class Child { ... @ManyToOne @@ -3722,7 +3724,7 @@ @AnyDef and @AnyDefs annotations are used. = - @Any( metaColu= mn =3D @Column( name =3D "property_type" ), fetch=3DFetchType.EAGER ) + @Any( metaColu= mn =3D @Column( name =3D "property_type" ), fetch=3DFetchType.EAGER ) @AnyMetaDef( = idType =3D "integer", = metaType =3D "string", = @@ -3743,7 +3745,7 @@ reused. It is recommended to place it as a package metadata in this case. = - //on a package + //on a package @AnyMetaDef( name=3D"property" = idType =3D "integer", = metaType =3D "string", = @@ -3816,7 +3818,7 @@ SortedSet or a SortedMap interface. = - @OneToMany(cas= cade=3DCascadeType.ALL, fetch=3DFetchType.EAGER) + @OneToMany(cas= cade=3DCascadeType.ALL, fetch=3DFetchType.EAGER) @JoinColumn(name=3D"CUST_ID") @Sort(type =3D SortType.COMPARATOR, comparator =3D TicketComparator.cl= ass) @Where(clause=3D"1=3D1") @@ -3835,7 +3837,7 @@ inverseName referencing to the other side constraint. = - @Entity + @Entity public class Woman { ... @ManyToMany(cascade =3D {CascadeType.ALL}) @@ -3861,7 +3863,7 @@ associated class explicitly maps the indexed value, the use of mappedBy is permitted: = - @Entity + @Entity public class Parent { @OneToMany(mappedBy=3D"parent") @OrderColumn(name=3D"order") @@ -3889,7 +3891,7 @@ the collection as mappedBy. Instead, we could= use the following mapping: = - @Entity + @Entity public class Parent { @OneToMany @OrderColumn(name=3D"order") @@ -3925,7 +3927,7 @@ generator strategy. The strategy can be identity, or any defined generator name of your application. = - @Entity + @Entity @TableGenerator(name=3D"ids_generator", table=3D"IDS") public class Passport { ... @@ -3955,7 +3957,7 @@ only in very special cases (eg. audit logs, user session data, etc). = - @ManyToAny( + @ManyToAny( metaColumn =3D @Column( name =3D "property_type" ) ) @AnyMetaDef( = idType =3D "integer", = @@ -4033,7 +4035,7 @@ PERSIST at flush time as per the specification). = - @OneToMany( cascade = =3D {CascadeType.PERSIST, CascadeType.MERGE} ) + @OneToMany( cascade = =3D {CascadeType.PERSIST, CascadeType.MERGE} ) @Cascade(org.hibernate.annotations.CascadeType.REPLICATE) public Collection<Employer> getEmployers() = @@ -4065,7 +4067,7 @@ entity load or the collection load. @Filter is us= ed and placed either on the entity or the collection element = - @Entity + @Entity @FilterDef(name=3D"minLength", parameters=3D@ParamDef( name=3D"minLength",= type=3D"integer" ) ) @Filters( { @Filter(name=3D"betweenLength", condition=3D":minLength <=3D length= and :maxLength >=3D length"), @@ -4081,7 +4083,7 @@ association table, use the @FilterJoinTable annotation. = - @OneToMany + @OneToMany @JoinTable //filter on the target entity table @Filter(name=3D"betweenLength", condition=3D":minLength <=3D length= and :maxLength >=3D length") @@ -4159,7 +4161,7 @@ you can also override the SQL statement used to load or change the s= tate of entities. = - @Entity + @Entity @Table(name=3D"CHAOS") @SQLInsert( sql=3D"INSERT INTO CHAOS(size, name, nickname, id) VALUES(?,up= per(?),?,?)") @SQLUpdate( sql=3D"UPDATE CHAOS SET size =3D ?, name =3D upper(?), nicknam= e =3D ? WHERE id =3D ?") @@ -4214,7 +4216,7 @@ You can use the exact same set of annotations to override the collection related statements. = - @OneToMany + @OneToMany @JoinColumn(name=3D"chaos_fk") @SQLInsert( sql=3D"UPDATE CASIMIR_PARTICULE SET chaos_fk =3D ? where id = =3D ?") @SQLDelete( sql=3D"UPDATE CASIMIR_PARTICULE SET chaos_fk =3D null where id= =3D ?") @@ -4234,7 +4236,7 @@ all) attributes sqlInsert, sqlUpdate, sqlDelete: = - @Entity + @Entity @SecondaryTables({ @SecondaryTable(name =3D "`Cat nbr1`"), @SecondaryTable(name =3D "Cat2"}) @@ -4274,7 +4276,7 @@ To define tuplixer in annotations, simply use the @Tuplizer annotation on the according element = - @Entity + @Entity @Tuplizer(impl =3D DynamicEntityTuplizer.class) public interface Cuisine { @Id @@ -4304,7 +4306,7 @@ fetch profile will be in affect for that session until it is explici= tly disabled. Lets look at an example: = - @Entity + @Entity @FetchProfile(name =3D "customer-with-orders", fetchOverrides =3D { @FetchProfile.FetchOverride(entity =3D Customer.class, association =3D = "orders", mode =3D FetchMode.JOIN) }) @@ -4323,12 +4325,13 @@ // standard getter/setter ... } - In the normal case the orders association would be lazy - loaded by Hibernate, but in a usecase where it is more efficient to = load - the customer and their orders together you could do something like + + In the normal case the orders association would be lazy loaded= by + Hibernate, but in a usecase where it is more efficient to load the + customer and their orders together you could do something like this: = - Session session =3D = ...; + Session session =3D = ...; session.enableFetchProfile( "customer-with-orders" ); // name matches @Fe= tchProfile name Customer customer =3D (Customer) session.get( Customer.class, customerId ); session.disableFetchProfile( "customer-with-orders" ); // or just close th= e session @@ -4350,4 +4353,4 @@ Hibernate Core documentation. - + \ No newline at end of file Modified: core/trunk/annotations/src/main/docbook/en/modules/setup.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/annotations/src/main/docbook/en/modules/setup.xml 2010-03-09= 10:48:53 UTC (rev 18939) +++ core/trunk/annotations/src/main/docbook/en/modules/setup.xml 2010-03-09= 14:49:39 UTC (rev 18940) @@ -46,7 +46,7 @@ Alternatively add the following dependency in your dependency manager (like Maven or Ivy). Here is an example = - <project ...> + <project ...> ... <dependencies> <dependency> @@ -96,9 +96,9 @@ or above from the Hibernate website and add hibernate-validator.jar and validation-api.jar in your classpath. Alternative= ly - add the following dependency in your - pom.xml. - <project> + add the following dependency in your pom.xml. + + <project> ... <dependencies> <dependency> @@ -117,7 +117,9 @@ hibernate-search.jar and lucene-core-x.y.z.jar in your classpath. Alternatively add the following dependency in your - pom.xml.<project> + pom.xml. + + <project> ... <dependencies> <dependency> @@ -138,8 +140,9 @@ AnnotationConfiguration class instead of the Configuration class. Here is an example using t= he (legacy) HibernateUtil approach: - package hello; = + package hello; + import org.hibernate.*; import org.hibernate.cfg.*; import test.*; @@ -171,7 +174,7 @@ hibernate.cfg.xml). Here is the equivalent of the above declaration: = - <!DOCTYPE hibernate-c= onfiguration PUBLIC + <!DOCTYPE hibernate-c= onfiguration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> @@ -194,7 +197,8 @@ Alternatively, you can define the annotated classes and packages using the programmatic API = - sessionFactory =3D new= AnnotationConfiguration() + sessionFactory =3D new= AnnotationConfiguration() .addPackage("test.animals") //the fully qualified pack= age name .addAnnotatedClass(Flight.class) .addAnnotatedClass(Sky.class) @@ -321,4 +325,4 @@ url=3D"http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#= configuration-logging">Logging in the Hibernate Core documentation. - + \ No newline at end of file Modified: core/trunk/annotations/src/main/docbook/en/modules/xml-overriding= .xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/annotations/src/main/docbook/en/modules/xml-overriding.xml 2= 010-03-09 10:48:53 UTC (rev 18939) +++ core/trunk/annotations/src/main/docbook/en/modules/xml-overriding.xml 2= 010-03-09 14:49:39 UTC (rev 18940) @@ -1,4 +1,4 @@ - + - - + Overriding metadata through XML = @@ -44,7 +44,7 @@ the annotations one. So if you know the annotations structure, using t= he XML schema will be straightforward for you. = - You can define one ot more XML files describing your metadata, t= hese + You can define one or more XML files describing your metadata, t= hese files will be merged by the overriding engine. =
@@ -53,7 +53,7 @@ You can define global level metadata available for all XML fil= es. You must not define these metadata more than once per deployment. = - <?xml version=3D"1.= 0" encoding=3D"UTF-8"?> + <?xml version=3D"1.= 0" encoding=3D"UTF-8"?> = <entity-mappings = xmlns=3D"http://java.sun.com/xml/ns/persistence/orm" @@ -347,7 +347,7 @@ mapped-superclass/attributes or embeddable/attributes. = - <attributes> + <attributes> <id name=3D"id"> <column name=3D"fld_id"/> <generated-value generator=3D"generator" strategy=3D"SEQUEN= CE"/> @@ -388,7 +388,7 @@ mapped-superclass/attributes or embeddable/attributes. = - <attributes> + <attributes> <one-to-many name=3D"players" fetch=3D"EAGER"> <map-key name=3D"name"/> <join-column name=3D"driver"/> @@ -424,4 +424,4 @@ informations in the chapter describing annotations.
-
+ \ No newline at end of file --===============6257961783821835400==--