CHAPTER 6 n (Web design company) MAPPING WITH ANNOTATIONS 117 n

CHAPTER 6 n MAPPING WITH ANNOTATIONS 117 n MAPPING WITH ANNOTATIONS 117 COLLECTION ORDERING EJB 3 does not provide for maintaining the ordering of an ordered collection such as an array or a list see the Ordering Collections with @IndexColumn section of the chapter for discussion on how the @IndexColumn annotation can be used in a non-portable way to remedy this deficiency. The collection, however, can be specified in terms of the fields of the associated entity at retrieval time by means of the @OrderBy annotation. For example, if we were to retrieve a list ordered by the books names in ascend- ing order, we could annotate a suitable method. The following code snippet specifies a retrieval order for an ordered collection. @OneToMany(cascade = ALL, mappedBy = “publisher” @OrderBy(”name ASC”) public List getBooks() { return books } The value of the @OrderBy annotation is an ordered list of the field names to sort by, each one option- ally appended with ASC (for ascending order, as in the preceding code) or DESC (for descending order). If neither ASC nor DESC is appended to one of the field names, the order will default to ascending. @OrderBy can be applied to any collection-valued association. The mappedBy attribute is mandatory on a bidirectional association and optional (being implicit) on a unidirectional association. cascade is optional, taking a member of the javax.persistence.CascadeType enumeration and dictating the cascade behavior of the mapped entity. targetEntity is optional, as it can usually be deduced from the type of the field or property, as in Listing 6-15, where the property represents a Set of Book entities, making the target entity implicitly Book. However, if necessary (if generics are not being used, for example), the class of the target entity can be provided here. fetch is optional, allowing lazy or eager fetching to be specified as a member of the javax.persistence.FetchType enumeration. Listing 6-15. Mapping a One-to-Many Relationship from the Book Entity to the Publisher Entity @OneToMany(cascade = ALL,mappedBy = “publisher”) public Set getBooks() { return books; } The many-to-one end of this relationship is expressed in similar terms to the one-tomany end, as shown in Listing 6-16.
Note: If you are looking for cheap webhost to host and run your apache application check Vision apache web hosting services

Leave a Reply