2016-01-03 1 views
0

Я использую hibernate для создания сущности. Атрибуты, которые я использовал, как показано ниже:Схема базы данных не по аннотациям гибернации

@Id 
@SequenceGenerator(name = "customer-id-gen", sequenceName = "CUSTOMERS_SEQ", allocationSize = 1) 
@GeneratedValue(generator = "customer-id-gen", strategy = GenerationType.SEQUENCE) 
@Column(name = "CUSTOMER_ID", length = 4, nullable = false) 
private int customerId; 

@Column(name = "CUSTOMER_NAME", length = 40, unique = false, nullable = false) 
private String customerName; 

@Column(name = "PHONE_NO", unique = true, nullable = true, length = 10) 
private Long phoneNo; 

Однако, как я могу видеть сквозь бревна, что таблица, созданная как следующую структуру:

create table CUSTOMER_ALL (
    CUSTOMER_ID number(10,0) not null, 
    CUSTOMER_NAME varchar2(40 char) not null, 
    PHONE_NO number(19,0) unique, 
    primary key (CUSTOMER_ID) 
) 

Я не могу понять, как преобразуется атрибут phone_no в 19 ​​размерах и customer_id до 10?

ответ

1

Согласно JPA, длина применяется только к строковым типам. Тип 'int' контролирует размер хранилища CUSTOMER_ID. Тип «Длинный» контролирует размер хранилища PHONE_NO.

Действительно ли вы хотите, чтобы номер телефона был длинным? Лучше строка?

Смежные вопросы