Iniciando com o hibernate

4 respostas
maikonaraujo

Olá pessoal, estou iniciando com o hibernate e estou tendo o seguinte problema:

Quando inicializo minha aplicação eu tenho o seguinte erro:

Error parsing XML: XML InputStream(31) The content of element type "class" must match "(meta*,(cache|jcs-cache)?,(id|composite-id),discriminator?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|any|map|set|list|bag|idbag|array|primitive-array)*,(subclass*|joined-subclass*))".</td>

Error reading resource: Pessoa.hbm

Ainda no inicio da aplicação, o código do pessoa.hbm é :

<hibernate-mapping package="dados">
	<class name="Guest" table="pessoa" discriminator-value="null">
		<id
			column="id"
			name="Id"
			type="big_decimal"
		>
			<generator class="vm" />
		</id>
		<property
			column="login"
			name="Login"
			not-null="true"
			type="string"
		 />
		 
	<discriminator column="senha" type="string" />
	<subclass name="Usuario" >
			<property
			column="senha"
			name="Senha"
			not-null="false"
			type="string"
		 />
	</subclass>
	</class>
</hibernate-mapping>

estou usando o hibernate 2.1.
Alguém pode me ajudar?
Valeu.

4 Respostas

ricardolecheta

pq vc nao começa retirar alguns itens desse xml até descobri onde está o erro?

está dando problema de parser…

_fs

Basta ler a exceção com mais cuidado. Nela está indicado que o elemento <discriminator> deve ser declarado antes de <property>, mas depois de <id>.

maikonaraujo

Segui seu conselho.

Eu comenteia a linha do :

<!-- 
	<discriminator column="senha" type="string"/>
-->

Então ele lançou a exceção:

discriminator mapping required for polymorphic persistence

hehehe ruim sem ele pior com ele…

acho q o erro está realmente no elemento discrimator, mas qual? Todos os tutoriais q eu olhei a respeito dele dão exemplos como esse q eu fiz!

maikonaraujo
Basta ler a exceção com mais cuidado. Nela está indicado que o elemento <discriminator> deve ser declarado antes de <property>, mas depois de <id>.

Tinha razão!

não sabia que a ordem importava… era isso mesmo.
Valeu!

Criado 20 de janeiro de 2005
Ultima resposta 20 de jan. de 2005
Respostas 4
Participantes 3