Tenho o seguinte campo no JPA:
@Column(name = "time")
private long time = 0;
Para questões de performance fui diretamente no MySql e coloquei este campo como indice.
Existe como eu definir que este campo deve ser indexado via Annotations??
Tenho o seguinte campo no JPA:
@Column(name = "time")
private long time = 0;
Para questões de performance fui diretamente no MySql e coloquei este campo como indice.
Existe como eu definir que este campo deve ser indexado via Annotations??
Coloca assim:
@Index(name = "time")
private long time = 0;
org.hibernate.annotations.Index funciona aparentemente se eu usar apenas Hibernate para persistência.
Usando JPA não rola.
JPA é apenas uma especificação, você deve utilizar algum provider como Hibernate ou TopLink, então se você estiver usando JPA com Hibernate a anotação @Index vai funcionar. 
Eu não sei se existe algum problema em ressucitar este topico !
Acredito eu que seja melhor do que criar um novo com o mesmo assunto !
Além do mais pra min não ficou claro , e o tópico não foi respondido.
Tudo bem que o Hibernate tenha a anotação , mas o JPA puro tem ?
Eu sei que é uma especificação , e fica implicito que estou perguntando em relação
a implementações como por exemplo EclipseLink.
O fato é que estou com a base de dados dos correios , e estou fazendo uma engenharia reversa !
A partir do *.mdb converti pra .mysql , e agora preciso mapear no JPA !
no squama tem os indices , eu acredito que deva seguir exatamente a forma como squema esta pois
se nao o banco vai ficar lento , são muitos registros :
no squema.sql , exemplos de criacao de tabela :
DROP TABLE IF EXISTS `dnecom`.`LOG_FAIXA_LOCALIDADE`;
CREATE TABLE `dnecom`.`LOG_FAIXA_LOCALIDADE` (
`LOC_NU` INT(10) NOT NULL,
`LOC_CEP_INI` VARCHAR(8) NOT NULL,
`LOC_CEP_FIM` VARCHAR(8) NULL,
PRIMARY KEY (`LOC_NU`, `LOC_CEP_INI`),
INDEX `{9C6022F4-4C99-42A4-A451-E2655C` (`LOC_NU`)
)
ENGINE = INNODB;
DROP TABLE IF EXISTS `dnecom`.`LOG_FAIXA_UF`;
CREATE TABLE `dnecom`.`LOG_FAIXA_UF` (
`UFE_SG` VARCHAR(2) NOT NULL,
`UFE_CEP_INI` VARCHAR(8) NOT NULL,
`UFE_CEP_FIM` VARCHAR(8) NULL,
PRIMARY KEY (`UFE_SG`, `UFE_CEP_INI`)
)
ENGINE = INNODB;