hibernate mapping xml добавление в таблицу

97
12 декабря 2020, 01:10

Допустим у меня есть Два объекта : Пенал и ручка в пенале может содержаться большое количество ручек представим бд с двумя таблицами: Код:

<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="http://www.hibernate.org/xsd/hibernate-mapping">
    <class name="ru.modelsxml.Pinal" table="Pinal">
        <id name="id" column="id">
            <generator class="identity"/>
        </id>
        <property name="name" column="name"/>
         <bag name="ruchka" table="ruchka" inverse="true" cascade="all-delete-orphan">
            <key column="name_ruchka" not-null="true"/>
            <one-to-many class="ru.modelsxml.Ruchka"/>
        </bag>
    </class>
</hibernate-mapping>
Код:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="http://www.hibernate.org/xsd/hibernate-mapping">
<class name="ru.modelsxml.Ruchka" table="ruchka">
    <id name="id" column="id">
        <generator class="identity"/>
    </id>
    <property name="name_ruchka" column="name_ruchka"/>
    <many-to-one name="pinal" column="pinal_id" class="ru.modelsxml.Pinal"/>
</class>
</hibernate-mapping>

и вот я сразу создаю объект пенал, который содержит несколько ручек и через hibernate пытаюсь добавить его в БД в результате 1 пенал добавился и ручки добавились, но в таблице ручек у ручек не проставляются id пеналов к которым они принадлежат. вопрос: какой чащё надо параметр указать чтобы у ручек проставлялись грамотно id пеналов с которыми они добавляются? или неужели добавлять в бд сначало пеналы, потом получать id пеналов добавлять эти id в модель ручек и потом добавлять ручки в бд?

import java.util.List;
public class Pinal {
    private  String name;
    private List<Ruchki> ruchkis;
    public List<Ruchki> getRuchkis() {
        return ruchkis;
    }
    public void setRuchkis(List<Ruchki> ruchkis) {
        this.ruchkis = ruchkis;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

public class Ruchki {
    private String name;
    private Pinal pinal;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Pinal getPinal() {
        return pinal;
    }
    public void setPinal(Pinal pinal) {
        this.pinal = pinal;
    }
}
READ ALSO
Чем отличаются способы присвоить строку?

Чем отличаются способы присвоить строку?

Хотел спросить чем отличается: String name = "Mike"; от String name = new String(); или же

111
проблема с калькулятором на java [дубликат]

проблема с калькулятором на java [дубликат]

Хотел бы к вам обратиться с проблемой с моим калькулятором на java Вот сам код:

98