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==--