segunda-feira, 3 de maio de 2010

[java-br] HELP!!! QUERY E MAPEAMENTO

·

 

Bom dia,

Estou com dois problemas....

1) Para cada usuário do meu sistema eu tenho relacionamento com uma classe Permissao, faço isso para controlar as permissões de programas para cada usuário. Dentro da classe de Permissão eu recebo uma lista de programas para poder fazer o relacionamento de usuario com Programa.

Quando dou um insert no primeiro usuário blza... não da erro nenhum mas quando vou inserir o segundo (e seleciono os mesmos programas do primeiro) da o erro abaixo. Estou mandando o meu mapeamento será que alguem poderia me dizer o que esta errado???

Caused by: java.sql.BatchUpdateException: Duplicate entry '11' for key 'meusProgramas_oid'
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2015)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1451)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:774)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 71 more

Usuario

@OneToOne(cascade=CascadeType.ALL)

@JoinColumn(name = "OID_PERMISSAO")

private Permissao minhaPermissao;

Permissão

@OneToMany(fetch=FetchType.EAGER)

private Set<Programa> meusProgramas = new LinkedHashSet<Programa>();

Com esse mapeamento no banco ele cria uma tabela permissao e uma permissao_programa. Pelo que entendi é nessa permissa_programa que ta dando erro quando vai inserir por exemplo assim....

oid_usuario = 1 - oid_programa = 1

oid_usuario = 1 - oid_programa = 2

oid_usuario = 1 - oid_programa = 3

oid_usuario = 2 - oid_programa = 1

oid_usuario = 2 - oid_programa = 2

Quando vai inserir as linhas em negrito e vermelho ocorre o erro.

2) Eu preciso fazer uma busca de todos os Processos que não estão finalizados e tem mais de 10 dias de inserido na base. Tenho um campo dt-entrada. Devo fazer uma Query que leia todos os processos que log-finalizado = false e dt-entrada + 10 <= today. ´

Fico no aguardo.

Obrigado.

[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
Conheça agora belas mulheres que buscam homens como você!

Veja os imóveis mais vendidos em Rio de Janeiro no Yahoo! Imóveis

ESTÁGIO com Benefício, Bolsa Auxílio, Vale Transporte e Vale Refeição!
.

__,_._,___

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