Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Базы данных (JDBC, JPA, Hibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2019, 20:58   #1
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
Вопрос hibernate Маппинг как правильно работать с объектами?

Допустим у меня есть Два объекта
: Пинал и ручка
в пинале может содержаться большое количество ручек представим бд с двумя таблицами:
Код:
<?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 пиналов с которыми они добавляются
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 11.05.2019, 21:02   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Там же с аннотациями давно можно, зачем XML?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.05.2019, 21:11   #3
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Там же с аннотациями давно можно, зачем XML?
можете подсказать каких параметров не хватает чтобы при добавлении объека пинал, в таблицу добавлялись ручки с id пинала?

я только пока про xml почитал до аннотаций ещё не дошёл


Код:

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;
    }
}
это только пример а не сама задача вот калссы написал побыстрому если не сложно можете привести на них пример как будет выглядеть на аннотациях? но лучше конечно на xml
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 11.05.2019, 21:29   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

https://www.google.com/search?q=java...te+many+to+one
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.05.2019, 22:13   #5
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
https://www.google.com/search?q=java...te+many+to+one
баян)) это всё гуглил, получение объектов из бд работает, не работает запись, т.е. данные записываются но только не отмечаются значения в таблице с ручками (к какому пиналу они принадлежат) я могу конечно делать по тупому - сначало добавлять отдельно пинал, и получать id пинала и добавлять потом в ручку значения id пинала а потом добавлять объект кучку но это как то по тупому
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 11.05.2019, 22:25   #6
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

еслиб я нашёл в гугле в чём проблем почему нет записи индентификатора в бд , то тут бы не спросил, прошу подсказать
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно работать с $_POST? Руслан Роккер PHP 6 27.01.2012 12:22
(C#) MS Visual Studio 2008. Как работать с объектами разных окон? cherw9!40k Общие вопросы .NET 12 23.01.2010 16:55
как правильно работать с функциями в С++ серг Помощь студентам 2 07.12.2009 23:46
Учимся правильно работать Gromsky WordPress и другие CMS 2 11.09.2009 14:27