【发布时间】:2015-10-12 10:03:49
【问题描述】:
我有以下实体
@Entity
public class Session{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
@OneToMany(cascade = CascadeType.REMOVE, fetch = FetchType.EAGER, orphanRemoval=true)
@JoinColumn(name="session_id", referencedColumnName="id")
private List<SessionChart> sessionCharts;
public List<SessionChart> getSessionCharts() {
return sessionCharts;
}
public void setSessionCharts(List<SessionChart> sessionCharts) {
this.sessionCharts = sessionCharts;
}
}
和一个实体
@Entity
@Table(name="session_chart")
public class SessionChart implements {
@Transient
private boolean isActive = false;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String chartName;
}
假设我已从特定会话中检索到我的会话图表
List<SessionChart> mySessionCharts = new ArrayList<SessionChart>();
mySessionCharts = session.getSessionCharts();
在我的代码中,我更改了一个sessionChart 的名称。如果我保存会话(合并)实体,那么 sessionCharts ArrayList 将被更新。我的问题如下:
我可以只保存列表中的SessionChart 对象而不保存会话吗?如果我删除会话图表并将其从 ArrayList 中删除,它会起作用吗?
我正在使用 jpa hibernate 和 EntityManager 和 EntityManagerFactory 进行数据库事务。
【问题讨论】: