下面列出了javax.persistence.CascadeType#MERGE 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Get the SUSE Products
* @return the SUSE Products
*/
@ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable(name = "suseSCCSubscriptionProduct",
joinColumns = @JoinColumn(name = "subscription_id"),
inverseJoinColumns = @JoinColumn(name = "product_id"))
public Set<SUSEProduct> getProducts() {
return products;
}
private static boolean needsToCascade(Field field) {
Class<?> fieldtype = field.getType();
if (!DomainObject.class.isAssignableFrom(fieldtype))
return false;
Annotation ann;
CascadeType[] cascades = null;
ann = field.getAnnotation(OneToOne.class);
if (ann != null) {
cascades = ((OneToOne) ann).cascade();
} else {
ann = field.getAnnotation(OneToMany.class);
if (ann != null) {
cascades = ((OneToMany) ann).cascade();
} else {
ann = field.getAnnotation(ManyToOne.class);
if (ann != null) {
cascades = ((ManyToOne) ann).cascade();
} else {
ann = field.getAnnotation(ManyToMany.class);
if (ann != null) {
cascades = ((ManyToMany) ann).cascade();
}
}
}
}
if (cascades == null)
return false;
for (CascadeType cas : cascades) {
if ((cas == CascadeType.ALL) || (cas == CascadeType.MERGE)
|| (cas == CascadeType.PERSIST)
|| (cas == CascadeType.REMOVE)) {
return true;
}
}
return false;
}
/** -> Gantt */
@Deprecated
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE}, targetEntity = TaskDO.class)
@JoinColumn(name = "gantt_predecessor_fk")
public TaskDO getGanttPredecessor()
{
return ganttPredecessor;
}
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "REPOSITORY_ID")
public Repository getRepository() {
return this.repository;
}
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "SPECIFICATION_ID")
public Specification getSpecification() {
return specification;
}
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "SUT_ID")
public SystemUnderTest getSystemUnderTest() {
return systemUnderTest;
}
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE}, targetEntity = TaskDO.class)
@JoinColumn(name = "task_id")
public TaskDO getTask()
{
return task;
}
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "COUNTRY_ID")
public Country getCountry() {
return country;
}
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinColumn(name = "PHONEBOOK_ID")
public PhoneBook getPhoneBook() {
return phoneBook;
}
@ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE, CascadeType.REFRESH},fetch = FetchType.LAZY)
@JoinColumn(name = "financeId")
public TFinanceEntity getFinance() {
return finance;
}
@ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE, CascadeType.REFRESH},fetch = FetchType.LAZY)
@JoinColumn(name = "photo_album_id")
public WeixinPhotoAlbumEntity getAlbum() {
return album;
}
@ManyToMany(targetEntity = User.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(name = "group_members", joinColumns = @JoinColumn(name = "group_id"), inverseJoinColumns = @JoinColumn(name = "user_id"))
public List<User> getMemberList() {
return memberList;
}
@ManyToMany(targetEntity = Group.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(name = "group_members", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "group_id"))
public List<Group> getGroups() {
return groups;
}
@ManyToMany(fetch = FetchType.LAZY, targetEntity = Role.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JsonIgnore
@XmlTransient
public Set<Role> getRoles() {
return roles;
}
@ManyToMany(targetEntity = Control.class, mappedBy = "roles", cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JsonIgnore
@XmlTransient
public Set<Control> getControls() {
return controls;
}
@ManyToMany(targetEntity = User.class, mappedBy = "roles", cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JsonIgnore
@XmlTransient
public Set<User> getUsers() {
return users;
}
@ManyToMany(mappedBy = "roles", targetEntity = Resource.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JsonIgnore
@XmlTransient
public Set<Resource> getResources() {
return resources;
}
@ManyToMany(fetch = FetchType.EAGER, targetEntity = Role.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JsonIgnore
@XmlTransient
public Set<Role> getRoles() {
return roles;
}
@ManyToMany(targetEntity = org.projectforge.user.PFUserDO.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER)
@JoinTable(name = "T_GROUP_USER", joinColumns = @JoinColumn(name = "GROUP_ID"), inverseJoinColumns = @JoinColumn(name = "USER_ID"))
public Set<PFUserDO> getAssignedUsers()
{
return assignedUsers;
}
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name = "group_id")
public GroupDO getGroup()
{
return group;
}