Я новичок в Hibernate JPA ..... У меня есть одна родительская таблица и несколько дочерних таблиц. Я хочу вставить запись в дочерние таблицы на основе родительской таблицы существования. не хотите вставлять какую-либо запись в родительскую таблицу. Если запись существует в родительской таблице, я хочу вставить ее в дочернюю таблицу. Я попытался с возможностью вставки и обновления в первичный ключ родительской таблицы как false. Но это не работает. Я использую версию JPA 2.0. Спасибо заранее. Пожалуйста, дайте мне знать любую другую информацию.Только обновление Hibernate JPA 2.0 и вставка в дочерние таблицы
================ Копирование вставили из комментариев:
Пример кода:
@Entity
@NamedQuery(name="Custome.findAll", query="SELECT p FROM Customer p")
public class Customer extends AbstractObject implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private CustomerPK pk;
@Temporal(TemporalType.DATE)
@Column(name="end_dt")
private Date endDt;
@Column(name="desc_txt")
private String descTxt;
//bi-directional many-to-one association to Dependent
@OneToMany(mappedBy="customer", cascade=CascadeType.ALL)
private List<Dependent> dependents = new ArrayList<>();
}
Я хочу обновить descTxt в таблице клиентов и тусклый для вставки зависимой таблицы. Если CustomerPK существует в таблице, то я хочу обновить, если я не хочу пропустить обновление записи в таблице Customer и вставке. В настоящее время я использую session.saveorUpdate (объект). Если существует запись, она обновляет родительскую запись и вставляет в дочернюю таблицу. Но если родительская запись не существует, она вставляет родительскую запись и дочерние записи, которые я не хотел вставлять в родительский запись
Пожалуйста, добавьте код, чтобы показать, что вы пытаетесь сделать. Каковы материнские и дочерние сущности и как они связаны? – greyfairer
Пример кода: @Entity @NamedQuery (имя = "Custome.findAll", запрос = "SELECT р от клиента р") цы} с классом Customer расширяет AbstractObject реализует Serializable { \t частные статический окончательный длинный serialVersionUID = 1L; \t @ EmbeddedId \t частный клиентPK pk; \t @Temporal (TemporalType.DATE) \t @column (имя = "end_dt") \t частная Дата endDt; \t @Column (name = "desc_txt") \t private String descTxt; \t // двунаправленным многие-к-одному ассоциации с зависимой \t @OneToMany (mappedBy = "клиента", каскадной = CascadeType.ALL) \t частных Список иждивенцев = новый ArrayList <>(); –
Я хочу обновить descTxt в таблице клиентов и wan, чтобы вставить таблицу зависимых. Если CustomerPK существует в таблице, то я хочу обновить, если я не хочу пропускать обновление записи в таблице Customer и вставке. В настоящее время я использую session.saveorUpdate (object) Если существует запись, она обновляет родительскую запись и вставляет в дочернюю таблицу, Но если родительская запись не существует, она вставляет родительскую запись и дочерние записи, которые я не хотел insert в родительской записи –