2

ID に基づいて「SystemParamater」というエンティティを削除する必要があります。

私がやろうとしていたこと:

- Begin Tran
  SystemParameter param EntityManager.find(SystemParameter.class,<paremeter.id>)
  EntityManager.remove(param)
-Commit tran

しかし、エンティティは削除されませんでした。

子エンティティを削除する正しい方法は何ですか?

以下に、私のエンティティを見つけることができます:

システムパラメータ:

@Entity
@Table(name = "system_parameters")
@Cacheab le
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class SystemParameter extends BasicEntity {

private static final long serialVersionUID = -6416605270912358340L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "paramName", length = 50, nullable = false)
private String paramName;

@Column(name = "paramValue", length = 255, nullable = false)
private String paramValue;

@Column(name = "encrypted", nullable = false)
@Type(type = "yes_no")
private Boolean encrypted = Boolean.FALSE;

@ManyToOne
@JoinColumn(name = "groupId", nullable = false)
private SystemParameterGroup parameterGroup;
}

システム パラメータ グループ:

@Entity
@Table(name = "system_parameter_groups", uniqueConstraints = {     @UniqueConstraint(columnNames = { "searchKey" }) })
@Cacheable
public class SystemParameterGroup extends BasicEntity {

private static final long serialVersionUID = -1762633144642103487L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "name", length = 50, nullable = false)
private String name;
/**
 * Description.
 */
@Column(name = "description", length = 255, nullable = false)
private String description;
/**
 * Search key.
 */
@Column(name = "searchKey", length = 50, nullable = false)
private String searchKey;
/**
 * System parameter list.
 */
@OneToMany(fetch = FetchType.EAGER, mappedBy = "parameterGroup", cascade = CascadeType.ALL, orphanRemoval = true)
@OrderBy("paramName")
private List<SystemParameter> systemParameterList;
}
4

1 に答える 1

0

の のリストSystemParameterからもエ​​ンティティを削除する必要があります。SystemParameterGroupSystemParameter

systemParameterGroup.getSystemParameterList().remove(systemParameter);

この問題はこれに関連しています

于 2013-10-22T16:26:47.727 に答える