Mapeamento Chave Composta

3 respostas
H

Olá pessoal to com um problema no meu mapeamento.
Tenhu a seguinte tabela.

[HORMARC]
fk - USOMARC
fk - CODHOR
pk - SEQMARC
HorMarc

Essa tabela tem primary key (CODHOR,SEQMARC)

Mapei do seguinte jeito

<class name="br.com.controle.db.model.tabelas.HorMarc"
		table="TBL_HORMARC">
		
		<id name="SeqMarc" column="SEQMARC" type="java.lang.Long">
			<generator class="identity"/>
		</id>
				
		<many-to-one name="Horario" column="CODHOR"
				class="br.com.controle.db.model.tabelas.Horario" lazy="no-proxy" />				
									
		<many-to-one name="UsoMarca" column="USOMARC"
			class="br.com.controle.db.model.tabelas.UsoMarca" lazy="no-proxy" />									
			

		<property name="HoraMarc"	    column="HORAMARC"	        type="java.lang.Long"   not-null="true"/>	

	</class>

Assim blz so q da erro insert…
Modo so salvar

14:46:06,906 WARN JDBCExceptionReporter:77 - SQL Error: 1400, SQLState: 23000
14:46:06,921 ERROR JDBCExceptionReporter:78 - ORA-01400: cannot insert NULL into (“TBL_HORMARC”.“SEQMARC”)

Modo salvarouatualizar

14:49:08,546 WARN JDBCExceptionReporter:77 - SQL Error: 1, SQLState: 23000
14:49:08,546 ERROR JDBCExceptionReporter:78 - ORA-00001: unique constraint (SYS_C0030054) violated

Pergunta…

Como faço para por o mapeamento os 2 campos como chave…
Nao estou usando sequence eu mesmo estou passando os valores…

Vlw =P

3 Respostas

PANIC

eu nao me lembro mto bem do conceito do generator “identity”, mas pelo visto vc nao ta setando a chave pra salvar.
e no update ele ta forçando um insert com a chave já existente.

pra mapear os dois objetos como chave voce diz?
ficaria assim:

<composite-id>
	        <key-many-to-one name="Horario" class="br.com.controle.db.model.tabelas.Horario" column="CODHOR" />
	        <key-many-to-one name="UsoMarca" class="br.com.controle.db.model.tabelas.UsoMarca" column="USOMARC/>
	    </composite-id>

espero ter lhe ajudado em algo :slight_smile:

H

Entao ja tentei com composite-id
e nao sincroniza. To usando o hibernate syn…

Tabela é UMA PFK, PK, FK
a PFK e PK q nao to conseguindo faze juntas…

Fogo.

Vlw

M

Opa, beleza?!
será que não tem haver com isso:

Você está tentando persistir algo nulo?

Criado 14 de setembro de 2007
Ultima resposta 15 de set. de 2007
Respostas 3
Participantes 3