Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OneToOne + 
V
    Опции темы
lat
Дата 21.7.2009, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 14.1.2008

Репутация: нет
Всего: 1



Разбираюсь с Hibernate. Застрял на двух этапах. Помогите с решением.

1. Связь между таблицами:

Предположим есть две таблицы: 
Код


Server (int serverid, String name, int port, int host) и DopParam(int id, int serverid, java.util.Properties param)



Таблица Server связанна с DopParam через поле serverid, тип связи один-к-одному.

Server

Код


<hibernate-mapping>

  <class name="Server " table="server">  
  
    <id      column="serverid"    name="ServerID"                type="java.lang.Integer"/>    
    <one-to-one name="DopParam"    class="DopParam"    cascade="save-update,delete" />        
    <property column="name"        name="Name"            type="java.lang.String" />
    <property column="host"    name="Host"            type="java.lang.String" />    
    <property column="port"    name="Port"            type="java.lang.Integer" />

  </class>
  
</hibernate-mapping>



Код


@Entity                    
@Table(name = "server") 
public class Server {

    public Server(){
    }
    
    @Id    
    private int serverid;

    public int getServerID() {
         return serverid;
    }

    public void setServerID(int serverid) {
        this.serverid= serverid;
    }

    @Basic
    @Column(name = "name")

    private String name;

    
    public String getName() {
         return name;
    }

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



Правильно ли сервак оформлен?

DopParam

Код

... тут у меня идеи и закончились ... =)


Как описать DopParam?  

2. Как работать с java.util.Properties в Hibernate (как, что и куда прописывать)?


PS: А можно обойтись одними аннотациями, без файлов <hibernate-mapping> ? Аннотации ведь повторят инфо нагрузку <hibernate-mapping> ...

<--- Случайно отправил пост раньше чем нужно. Не успел тему написать полностью. Просьба модераторам исправить на "OneToOne + java.util.Properties" --->


Это сообщение отредактировал(а) lat - 21.7.2009, 14:14
--------------------
Gott weiß ich will kein Engel sein
PM ICQ   Вверх
lat
Дата 21.7.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 14.1.2008

Репутация: нет
Всего: 1



Цитата(lat @  21.7.2009,  14:01 Найти цитируемый пост)
PS: А можно обойтись одними аннотациями, без файлов <hibernate-mapping> ? Аннотации ведь повторят инфо нагрузку <hibernate-mapping> ...


Выяснил, что можно. 
Можно без аннотация но с файлом маппинга, или без файла маппинга но с элементом <mapping class="pack.Server" /> в секции <hibernate-configuration>.

Остальные вопросы пока актуальны (принимаются варианты как с аннт-й так и без неё, мне главное суть понять).
--------------------
Gott weiß ich will kein Engel sein
PM ICQ   Вверх
lat
Дата 21.7.2009, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 14.1.2008

Репутация: нет
Всего: 1



Цитата(lat @  21.7.2009,  14:01 Найти цитируемый пост)
2. Как работать с java.util.Properties в Hibernate (как, что и куда прописывать)?


Код


@Type(type = "java.util.Properties")
    @Column(name = "param")
    private Properties param;
    
    public Properties getParam() {
         return param;
    }
    public void setParam(Properties param) {
         this.param = param;
    }  



Такс, осталось только разобраться с "один-к-одному" ...

Это сообщение отредактировал(а) lat - 21.7.2009, 15:34
--------------------
Gott weiß ich will kein Engel sein
PM ICQ   Вверх
lat
Дата 21.7.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 14.1.2008

Репутация: нет
Всего: 1



Не было времени ждать ответов, решил задачу сам:

Цитата(lat @  21.7.2009,  15:32 Найти цитируемый пост)
Такс, осталось только разобраться с "один-к-одному" ...


Server
Код

...
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn(name = "serverid", referencedColumnName = "paramid")
private DopParam dopparam;
...


Пол часа - полет нормальный. Если будут замечания или предложения по улучшению кода - пишите в ПМ.
Тему закрываю.

--------------------
Gott weiß ich will kein Engel sein
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0890 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.