Hibernate Mapping

Eldorado

Bekanntes Mitglied
Hi,
ich habe folgende, wahrscheinlich schnell zu lösende Frage:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="de.mysql.User" table="user">
<id column="id" name="id" type="integer">
<generator class="native"/>
</id>
<property column="name" name="name" not-null="true" type="string"/>
<many-to-one class="de.mysql.UserCategory" column="user_category_id" name="userCategory"/>
<set cascade="all" lazy="true" name="settlement">
<key column="user_id"/>
<one-to-many class="de.mysql.Settlement"/>
</set>
<set cascade="all" lazy="true" name="sale">
<key column="user_id"/>
<one-to-many class="de.mysql.Sale"/>
</set>
</class>
</hibernate-mapping>
[/XML]
Java:
public class User extends MySqlTable {

    private String name;
    private String userCategory;
    private Set settlement;
    private Set sale;

    public String getName() {
        return name;
    }

    public String getUserCategory() {
        return userCategory;
    }

    public Set getSettlement() {
        return settlement;
    }

    public Set getSale() {
        return sale;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setUserCategory(String userCategory) {
        this.userCategory = userCategory;
    }

    public void setSettlement(Set settlement) {
        this.settlement = settlement;
    }

    public void setSale(Set sale) {
        this.sale = sale;
    }
}

In diesem Mapping lege ich ja quasi eine user_category_id-Spalte und einenen Verweis auf user_category an oder? Muss bzw. kann ich in der Java-Klasse beides, d.h. user_Category und user_Category_Id abrufen?
Vielen Dank für euer bemühen.

mfg
Eldorado
 
Zuletzt bearbeitet:
Aber er bezieht sich doch in der many-to-one Beziehung auf den Namen der userCategory. Wenn ich zu Hause bin, poste ich auch mal die UserCategory-Klasse+Mapping. Wahrscheinlich habe ich da einfach nur ein Verständnisproblem. Vielen Dank schon mal!
mfg
Eldorado
 
Hier sind nochmal UserCategory.java und user_category.hbm.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="de.mysql.UserCategory" table="user_category">
<id column="id" name="id" type="integer">
<generator class="native"/>
</id>
<property column="name" name="name" not-null="true" type="string"/>
<set cascade="all" lazy="true" name="user">
<key column="user_category_id"/>
<one-to-many class="de.mysql.User"/>
</set>
</class>
</hibernate-mapping>
[/XML]
Java:
public class UserCategory extends MySqlTable{

    private String name;
    private Set user;

    public String getName() {
        return name;
    }

    public Set getUser() {
        return user;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setUser(Set user) {
        this.user = user;
    }
}

Ich hoffe, das hilft mein Problem zu lösen bzw wo mein Denkfehler liegt 🙂
mfg
Eldorado
 
ich bin nach wie vor für

Java:
public class User extends MySqlTable {
 
    private String name;
    private UserCategory userCategory;

funktioniert es damit? was waren jetzt deine Gründe dafür/ dagegen?
das mit dem String habe ich nicht verstanden
 

Neue Themen


Zurück
Oben