Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > ManyToOne Hibernate автоматическое добавление данн


Автор: Farik013 6.2.2016, 17:10
Здравсвуйте

Есть 2 Entity класса 
Filials
Код

@Entity 
@NamedQuery(name="allFilials", query="SELECT f FROM Filials f")
public class Filials {@Id @GeneratedValue(strategy=GenerationType.IDENTITY)     
private int id;     
private String name;
private String adress;  
@OneToMany(mappedBy="filials")  private
List<Opers> opers;

public Filials() {      
super();        
stub }
...


Opers
Код

@Entity
@NamedQuery(name = "allOpers", query = "SELECT o FROM Opers o")
public class Opers {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    private String surname;
    @ManyToOne
    private Filials filials;

    public Opers() {
        super();
        // TODO Auto-generated constructor stub
    }
....


в DAO insert делаю
Код

@Override
    public void insert(Opers oper) {
        getSession().save(oper);
    }


Мне нужно, чтоб когда insert делал, он брал и ID Filial. В JSP при нажатии на ссылке, он переходит на страницу Opers и переносит Filials ID, но при insert-e этот ID не могу вписать в базу. Каким образом могу его вписать?

Если нужен еще какой то код, скажите поставлю.

Автор: Samotnik 16.2.2016, 00:12
Farik013, если ещё актуально. Тут минимум два вопроса. 
1. Где код который "переносит" айдишники с jsp страницы
2. Когда делаешь save - нужно вытягивать по айди filials и сетить их в opers. Иначе никак
Чтото типо
Код

@Override
 public void insert(Opers oper, long filialsId) {
        Filials filials = entityManager.getReference(Filials.class, filialsId);
        oper.setFilials(filials);
        getSession().save(oper);
 }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)