110 CHAPTER (Cheapest web hosting) 6 n MAPPING WITH ANNOTATIONS CHAPTER

110 CHAPTER 6 n MAPPING WITH ANNOTATIONS CHAPTER 6 n MAPPING WITH ANNOTATIONS public static class AccountPk { // … } } Regardless of which of these approaches we take to declare our compound primary key, the table that will be used to represent it will require the same set of columns. Listing 6-9 shows the DDL that will be generated from any of Listings 6-6, 6-7, or 6-8. Listing 6-9. The DDL Generated from the Annotated Account Class (Regardless of the Approach Used) create table Account ( code varchar(255) not null, number integer not null, description varchar(255), primary key (code, number) ); Database Table Mapping with @Table and @SecondaryTable The @Table annotation allows you to specify the details of the table that will be used to persist the entity in the database. If you omit the annotation, Hibernate will default to using the class name for the table name, so you only need to provide this annotation if you want to override that behavior. The @Table annotation provides four attributes, allowing you to override the name of the table, its catalog, and its schema, and enforce unique constraints on columns in the table. Typically, you would only provide a substitute table name thus: @Table(name=” ORDER_HISTORY”). The unique constraints will be applied if the database schema is generated from the annotated classes, and will supplement any column-specific constraints (see discussions of @Column and @JoinColumn later in this chapter). They are not otherwise enforced. The @SecondaryTable annotation provides a way to model an entity bean that is persisted across several different database tables. Here, in addition to providing an @Tableannotation for the primary database table, your entity bean can have an @SecondaryTable annotation, or an @SecondaryTables annotation in turn containing zero or more @SecondaryTable annotations. The @SecondaryTable annotation takes the same basic attributes as the @Table annotation, with the addition of the join attribute. The join attribute defines the join column for the primary database table. It accepts an array of javax.persistence.PrimaryKeyJoinColumnobjects. If you omit the joinattribute, then it will be assumed that the tables are joined on identically named primary key columns. When an attribute in the entity is drawn from the secondary table, it must be marked with the @Columnannotation, with a table attribute identifying the appropriate table. Listing 6-10 shows how a property of the Customer entity could be drawn from a second table mapped in this way.
Note: If you are looking for cheap webhost to host and run your apache application check Vision apache web hosting services

Leave a Reply