2014-11-17 3 views
2
public class Subscription implements java.io.Serializable { 

    private Integer id_subscription; 
    private Contact contact; 
    // ... 

    public Subscription (Contact contact, ...) { 
     this.contact = contact; 
     ... 
    } 
    // ... 

Теперь у меня есть только id_contact, поэтому я, чтобы загрузить весь объект ContactНе загружая весь объект

Contact contact = contact_resposetory.findOne(id_contact); 

Subscription subscription = new Subscription(contact , ...); 
// ... 
subscription_resposetory.save(subscription); 

Мой вопрос не существует решение, которое мы можем использовать непосредственно только первичный ключ от Contact вместо загрузки всего объекта? потому что в базе данных в таблице Subscription есть только id_contact как FK.

+0

Не совсем понятно: пытаетесь ли вы получить только атрибут «Контакт» или что? – MaVVamaldo

+0

Я хочу сохранить свой объект подписки после, я обновляю свой вопрос. – Youssef

ответ

3

Хотя JPA не позволяет, Hibernate гораздо менее ограничительным и позволяет выполнить следующие действия:

Contact contaCct = new Contact(); 
contact.setId(id_contact); 
Subscription subscription = new Subscription(contact , ...); 

Hibernate будет использовать Контактную FK и заполнить его на подписке.

+0

нет плохого скрытого поведения этого? – Youssef

+1

Это хорошо с точки зрения производительности, когда вы только хотите упорствовать. –

Смежные вопросы