segunda-feira, 5 de novembro de 2012

Re: [java-br] RES: SEQUENCE

·

 

Olá Flavio,

Pela dúvida inicial do Roger, ele quer gerar um número sequencial para um atributo que não é @Id, olhe o mapeamento dele:

>> @Id
>> @GeneratedValue(strategy = GenerationType.AUTO)
>> private long oid;
>>
>> @GeneratedValue(strategy = GenerationType.SEQUENCE)
>> private long code;

, e isso não tem jeito de fazer utilizando o JPA. Olhe o que diz a API:

"Provides for the specification of generation strategies for the values of primary keys. The GeneratedValue annotation may be applied to a primary key property or field of an entity or mapped superclass in conjunction with the Id annotation."

[]s,
 
Oscar A. Costa
http://blog.openarch.com

"Do or do not, there is no try" - Master Yoda

________________________________
De: Flavio Casas de Arcega <flaviocasas@gmail.com>
Para: java-br@yahoogrupos.com.br
Enviadas: Segunda-feira, 5 de Novembro de 2012 19:37
Assunto: Re: [java-br] RES: SEQUENCE


 
Roger,

Matei a charada...

É necessário associar o generator criado com @SequenceGenerator ao
@GeneratedValue através do atributo generator.

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,
generator="generator_registro")
@SequenceGenerator(name="generator_registro",
sequenceName="sequence_registro")
private Integer id;

Dessa forma ele usa a sequence_registro para criar o novo id:
775 DEBUG org.hibernate.SQL - create sequence sequence_registro
856 DEBUG org.hibernate.SQL - call next value for sequence_registro

Segue o projeto em anexo.

2012/11/5 Flavio Casas de Arcega <flaviocasas@gmail.com>

> Roger,
>
> Consegui um tempo aqui e fiz um teste rápido, o export do projeto segue
> anexo.
>
> Basicamente usei:
>
> @Entity
> public class Registro {
> @Id
> @GeneratedValue(strategy=GenerationType.SEQUENCE)
> @SequenceGenerator(name="sq_registro")
> private Integer id;
> ...
>
>
> Para rodar, descompacte o arquivo em uma workspace e importe como projeto
> maven.
> Execute a classe RegistroTest e verá que a sequence funciona perfeitamente.
>
> Espero que ajude...
>
>
>
> 2012/11/5 Oscar Costa <oscar_al_costa@yahoo.com.br>
>
>> **
>>
>>
>> Olá Roger, blz?
>>
>> Como descrito na API, o GeneratedValue funciona em conjunto com o Id (
>> http://docs.oracle.com/javaee/5/api/javax/persistence/GeneratedValue.html),
>> ou seja vai ter que implemenentar algo pra isso mesmo (...agora não me vem
>> nada na cabeça que faça isso automaticamente para teu caso).
>>
>> []s,
>>
>>
>> Oscar A. Costa
>> http://blog.openarch.com
>>
>> "Do or do not, there is no try" - Master Yoda
>>
>> ________________________________
>> De: Roger Rayner Cunha Bento <roger.rayner@totvs.com.br>
>> Para: "java-br@yahoogrupos.com.br" <java-br@yahoogrupos.com.br>
>> Enviadas: Segunda-feira, 5 de Novembro de 2012 16:15
>> Assunto: [java-br] RES: SEQUENCE
>>
>>
>>
>> Alguem?
>>
>> Att.,
>> Roger Rayner
>> Inovação Comércio Exterior
>> Unidade Joinville
>> * 55 (47) 3802-8110 (novo)
>> * roger.rayner@totvs.com.br<mailto:roger.rayner@totvs.com.br>
>> [cid:image001.jpg@01CDBB70.B56A5B70]<http://www.byyou.com/>
>>
>> [cid:image002.jpg@01CDBB70.B56A5B70]<http://www.formspring.me/totvs>
>>
>> [cid:image003.jpg@01CDBB70.B56A5B70]<http://www.twitter.com/totvs>
>>
>> [cid:image004.jpg@01CDBB70.B56A5B70]<http://www.facebook.com/totvs>
>>
>> [cid:image005.jpg@01CDBB70.B56A5B70]<http://www.youtube.com/totvs>
>>
>> [cid:image006.jpg@01CDBB70.B56A5B70]<http://www.totvs.com/>
>>
>> De: java-br@yahoogrupos.com.br [mailto:java-br@yahoogrupos.com.br] Em
>> nome de Roger Rayner Cunha Bento
>> Enviada em: sábado, 3 de novembro de 2012 11:47
>> Para: java-br@yahoogrupos.com.br
>> Assunto: [java-br] SEQUENCE
>>
>> Bom dia,
>>
>> Estou utilizando EJB 3 para mapeamento e persistência dos dados em um
>> projeto que estou trabalhando.
>>
>> Tenho o mapeamento abaixo.
>>
>> @Id
>> @GeneratedValue(strategy = GenerationType.AUTO)
>> private long oid;
>>
>> @GeneratedValue(strategy = GenerationType.SEQUENCE)
>> private long code;
>>
>> O primeiro funciona corretamente a variável oid é incrementada
>> automaticamente quando crio o registro, mas o SEQUENCE sempre é 0. Essa é a
>> forma correta? Para que a variável code seja incrementada devo fazer algo
>> mais?
>>
>> Como paliativo eu criei um método que faz a busca do último código e
>> incrementa mais um, mas gostaria de saber como faço para usar o SEQUENCE de
>> uma forma que funcione.
>>
>> Obrigado.
>>
>> Att.,
>> Roger Rayner
>> Inovação Comércio Exterior
>> Unidade Joinville
>> * 55 (47) 3802-8110 (novo)
>> * roger.rayner@totvs.com.br<mailto:roger.rayner%40totvs.com.br><mailto:
>> roger.rayner@totvs.com.br<mailto:roger.rayner%40totvs.com.br>>
>> [cid:image001.jpg@01CDB9B8.E3AF9B30<mailto:
>> image001.jpg%4001CDB9B8.E3AF9B30>]<http://www.byyou.com/>
>>
>> [cid:image002.jpg@01CDB9B8.E3AF9B30<mailto:
>> image002.jpg%4001CDB9B8.E3AF9B30>]<http://www.formspring.me/totvs>
>>
>> [cid:image003.jpg@01CDB9B8.E3AF9B30<mailto:
>> image003.jpg%4001CDB9B8.E3AF9B30>]<http://www.twitter.com/totvs>
>>
>> [cid:image004.jpg@01CDB9B8.E3AF9B30<mailto:
>> image004.jpg%4001CDB9B8.E3AF9B30>]<http://www.facebook.com/totvs>
>>
>> [cid:image005.jpg@01CDB9B8.E3AF9B30<mailto:
>> image005.jpg%4001CDB9B8.E3AF9B30>]<http://www.youtube.com/totvs>
>>
>> [cid:image006.jpg@01CDB9B8.E3AF9B30<mailto:
>> image006.jpg%4001CDB9B8.E3AF9B30>]<http://www.totvs.com/>
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>> <oscar_al_costa@yahoo.com.br?subject=Res%3A%20Re%3A%20%5Bjava-br%5D%20RES%3A%20SEQUENCE>| através
>> de email<java-br@yahoogrupos.com.br?subject=Res%3A%20Re%3A%20%5Bjava-br%5D%20RES%3A%20SEQUENCE>| Responder
>> através da web<http://br.groups.yahoo.com/group/java-br/post;_ylc=X3oDMTJxbGZsc2ZuBF9TAzk3NDkwNDM3BGdycElkAzMyNzk5ODIEZ3Jwc3BJZAMyMTM3MTExMjY3BG1zZ0lkAzYwMTYxBHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTM1MjE0MzYyMA--?act=reply&messageNum=60161>| Adicionar
>> um novo tópico<http://br.groups.yahoo.com/group/java-br/post;_ylc=X3oDMTJldWMxbDk3BF9TAzk3NDkwNDM3BGdycElkAzMyNzk5ODIEZ3Jwc3BJZAMyMTM3MTExMjY3BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTM1MjE0MzYyMA-->
>> Mensagens neste tópico<http://br.groups.yahoo.com/group/java-br/message/60153;_ylc=X3oDMTM2M3JuZ3BoBF9TAzk3NDkwNDM3BGdycElkAzMyNzk5ODIEZ3Jwc3BJZAMyMTM3MTExMjY3BG1zZ0lkAzYwMTYxBHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTM1MjE0MzYyMAR0cGNJZAM2MDE1Mw-->(
>> 6)
>> Atividade nos últimos dias:
>>
>>
>> Visite seu Grupo<http://br.groups.yahoo.com/group/java-br;_ylc=X3oDMTJlY2plcXRrBF9TAzk3NDkwNDM3BGdycElkAzMyNzk5ODIEZ3Jwc3BJZAMyMTM3MTExMjY3BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTM1MjE0MzYyMA-->
>> Para sair da lista, envie email para:
>> java-br-unsubscribe@yahoogroups.com
>> Para upload/download de arquivos:
>> http://www.yahoogroups.com/files/java-br
>> Quantidade ou qualidade? No Y!Encontros vc encontra de tudo um pouco.<http://global.ard.yahoo.com/SIG=15m06h1fm/M=758712.15012700.14784528.12960164/D=brclubs/S=2137111267:MKP1/Y=BR/EXP=1352150820/L=c5882f76-277e-11e2-ac75-fbc75ff4a71f/B=VbXQZUoGYm4-/J=1352143620825734/K=FVhFJZASVLP_JN67xjVt8w/A=6630597/R=0/id=mkp1/SIG=135ugiqia/*http://tracking.parperfeito.com.br/ppbanner/bannerTracker?originId=1&identifierId=756978&actionId=1>
>> ------------------------------
>> Quem procura, acha. Encontre a pessoa ideal online<http://global.ard.yahoo.com/SIG=15ma09m25/M=830568.15128937.14797398.12960164/D=brclubs/S=2137111267:MKP1/Y=BR/EXP=1352150820/L=c5882f76-277e-11e2-ac75-fbc75ff4a71f/B=VLXQZUoGYm4-/J=1352143620825734/K=FVhFJZASVLP_JN67xjVt8w/A=6630596/R=0/id=mkp1/SIG=135cat74t/*http://tracking.parperfeito.com.br/ppbanner/bannerTracker?originId=1&identifierId=756977&actionId=1>
>> [image: Yahoo! Grupos]<http://br.groups.yahoo.com/;_ylc=X3oDMTJkcXBkMmttBF9TAzk3NDkwNDM3BGdycElkAzMyNzk5ODIEZ3Jwc3BJZAMyMTM3MTExMjY3BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMzUyMTQzNjIw>
>> Trocar para: Só Texto<java-br-traditional@yahoogrupos.com.br?subject=Mudar+Formato+de+Envio:+Tradicional>,
>> Resenha Diária<java-br-digest@yahoogrupos.com.br?subject=Envio+de+email:+Resenha>• Sair
>> do grupo <java-br-unsubscribe@yahoogrupos.com.br?subject=Sair+do+grupo>• Termos
>> de uso <http://br.yahoo.com/info/utos.html>
>> .
>>
>> __,_._,__
>>
>

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

__._,_.___
Atividade nos últimos dias:
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
Ainda dá tempo de encontrar companhia para passar o Dia dos Namorados!

Quem procura, acha. Encontre a pessoa ideal online
.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog