Re[5]: Hibernate и как правильно увязать
От: KRA Украина  
Дата: 29.03.09 17:08
Оценка: 3 (1)
Здравствуйте, _me_, Вы писали:

__>в теории все понятно, а можно пример? а то еще в хибернейта опыта нет особого, только простой маппинг делал. особенно интересно посмотреть на примере как делать lazy и куда прописывать запрос.


Вот пример использования Lazy
//...

@Entity
@Table(name = "USR")
@SequenceGenerator(name = "USER_SEQ", sequenceName = "USER_SEQ", allocationSize = 1)
public class User  {

    private UserGroup group;

    //...

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "GROUP_ID")
    public UserGroup getGroup() {
        return group;
    }

    public void setGroup(UserGroup group) {
        this.group = group;
    }
}


Пример выполнения запроса (тут выбирается одна запись)
        session.createQuery("from TrafficSource as ts where ts.foreignChannelId = :foreignChannelId and ts.server.id = :serverId")
                .setParameter("foreignChannelId", foreignChannelId)
                .setParameter("serverId", serverId)
                .uniqueResult();


В Вашем случае можно обойтись и critria api, как по мне это предпочтительней, т.к. присутствует контроль типов как минимум. Для Вашего случая запрос будет выглядеть так
getSession
session.createCriteria(Order.class).setFetchMode("member", FetchMode.JOIN).list();
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.