Читаем Изучаем Java EE 7 полностью

public class Track {


··@Id @GeneratedValue(strategy = GenerationType.AUTO)

··private Long id;

··private String title;

··private Float duration;

··@Basic(fetch = FetchType.LAZY)

··@Lob

··private byte[] wav;

··private String description;


··// Конструкторы, геттеры, сеттеры

}

Обратите внимание, что атрибут wav типа byte[] также аннотирован с помощью @Lob для сохранения значения как большого объекта (Large Object — LOB). Столбцы базы данных, в которых могут храниться большие объекты такого типа, требуют специальных JDBC-вызовов для доступа к ним из Java-кода. Для информирования поставщика в случае с базовым отображением должна быть добавлена опциональная аннотация @Lob.


@Column

Аннотация @javax.persistence.Column, показанная в листинге 5.12, определяет свойства столбца. Вы можете изменить имя столбца (которое по умолчанию отображается в совпадающее с ним имя атрибута), а также указать размер и разрешить (или запретить) столбцу иметь значение null, быть уникальным или позволить его значению быть обновляемым или вставляемым. В листинге 5.12 приведен API-интерфейс аннотации @Column с элементами и их значениями по умолчанию.


Листинг 5.12. Элементы аннотации @Column

@Target({METHOD, FIELD}) @Retention(RUNTIME)

public @interface Column {

··String name() default "";

··boolean unique() default false;

··boolean nullable() default true;

··boolean insertable() default true;

··boolean updatable() default true;

··String columnDefinition() default "";

··String table() default "";

··int length() default 255;

··int precision() default 0; // десятичная точность

··int scale() default 0;·····// десятичная система счисления

}

Для переопределения отображения по умолчанию оригинальной сущности Book (см. листинг 5.1) вы можете использовать аннотацию @Column разными способами (листинг 5.13). Например, вы можете изменить имя столбца title и nbOfPage либо длину description и не разрешить значения null. Следует отметить, что допустимы не все комбинации атрибутов для типов данных (например, length применим только к столбцу со строковым значением, а scale и precision — только к десятичному столбцу).


Листинг 5.13. Настройка отображения сущности Book

@Entity

public class Book {

··@Id @GeneratedValue(strategy = GenerationType.AUTO)

··private Long id;

··@Column(name = "book_title", nullable = false, updatable = false)

··private String title;

··private Float price;

··@Column(length = 2000)

··private String description;

··private String isbn;

··@Column(name = "nb_of_page", nullable = false)

··private Integer nbOfPage;

··private Boolean illustrations;

··// Конструкторы, геттеры, сеттеры

}

Сущность Book из листинга 5.13 будет отображена в определение таблицы, показанное в листинге 5.14.


Листинг 5.14. Определение таблицы BOOK

create table BOOK (

··ID BIGINT not null,

··BOOK_TITLE VARCHAR(255) not null,

··PRICE DOUBLE(52, 0),

··DESCRIPTION VARCHAR(2000),

··ISBN VARCHAR(255),

··NB_OF_PAGE INTEGER not null,

··ILLUSTRATIONS SMALLINT,

··primary key (ID)

);

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Нил Форд , Билл де Ора , Майкл Хайгард

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT