Początki Hibernate, jak odwzorowac asocjajcje?

0

Witajcie,

Zaczynam uczyc się hibernate i natrafiłem na problem przy odwzorowaniu asocjajci. Pytanie brzmi co mam błędnie. Tak jak napisałem dopiero się tego ucze dlatego moge popełnic głupie błędy.

Taka oto prosta relacja:

Tabela User:
ID,Imie,Nazwisko,Wiek

Tabela Adres:
ID, UserID,Adres

Relacja 1 do wielu po kolumnie ID i UserID

public class User implements java.io.Serializable 
{
public int id;
public String imie;
public String nazwisko;
public int wiek;    

```java
public class Adres implements java.io.Serializable 
{
public int id;    
public User user;
public String adres;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated 2014-11-18 16:29:32 by Hibernate Tools 4.3.1 -->
<hibernate-mapping>
  <class catalog="ExProF" name="entity.User" optimistic-lock="version" schema="dbo" table="User">
     <set name="Adreses" table="Adres"  inverse="false"  fetch="select">
        <key>
            <column name="ID" not-null="true" />
        </key>
        <one-to-many class="entity.Adres"/>        
    </set>
    <property name="imie" type="string">
      <column name="Imie"/>
    </property>
    <property name="nazwisko" type="string">
      <column name="Nazwisko"/>
    </property>
    <property name="wiek" type="java.lang.Integer">
      <column name="Wiek"/>
    </property>
  </class>
</hibernate-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated 2014-11-18 16:29:32 by Hibernate Tools 4.3.1 -->
<hibernate-mapping>
  <class catalog="ExProF" name="entity.Adres" optimistic-lock="version" schema="dbo" table="Adres">
     <id name="id" type="int">
    <column name="ID"/>
    <generator class="native"/>
    </id> 
    <many-to-one name="user" class="User">
    <column name="UserID" not-null="true" />
    </many-to-one>
     <property name="adres" type="string">
      <column name="Adres"/>
    </property> 
  </class>
</hibernate-mapping>

Mam coś błędnie w mapowaniach ale nie wiem o co chodzi. Błąd jaki wywala mi kompilator:

lut 24, 2015 116 PM org.hibernate.internal.util.xml.ErrorLogger logErrors
ERROR: HHH000196: Error parsing XML (2) : The content of element type "class" must match "(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array),((join,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,fetch-profile*,resultset*,(query|sql-query))".
lut 24, 2015 116 PM org.hibernate.internal.util.xml.ErrorLogger logErrors
ERROR: HHH000196: Error parsing XML (2) : The content of element type "class" must match "(meta
,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array),((join,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,fetch-profile*,resultset*,(query|sql-query)*)".
Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Unable to read XML
Exception in thread "main" java.lang.ExceptionInInitializerError

1

Nie lepiej będzie Ci mapować adnotacjami?

0

Też polecam stosować adnotacje,po mojemu dużo łatwiej

0

Ok, chyba macie racje. Lecę zgodnie z książką, ale widzę ze nie ma co się spinać i trzeba przeskoczyć rozdział. Dzięki za radę jutro przetestuje tym sposobem i może uproszczenia sobie życie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1