Java 如果未插入子实体,则如何级联,否则不进行级联
我们目前正在使用seam框架。我们在注释实体时有点麻烦。我们有一个交易实体,它有一个子标记实体。我们将实体注释如下:Java 如果未插入子实体,则如何级联,否则不进行级联,java,hibernate,jboss6.x,seam2,hibernate-cascade,Java,Hibernate,Jboss6.x,Seam2,Hibernate Cascade,我们目前正在使用seam框架。我们在注释实体时有点麻烦。我们有一个交易实体,它有一个子标记实体。我们将实体注释如下: @Entity public class Deal implements Serializable { private Tag tag; @ManyToOne public Tag getTag() { return tag; } public void setTag
@Entity
public class Deal implements Serializable {
private Tag tag;
@ManyToOne
public Tag getTag() {
return tag;
}
public void setTag(Tag tag) {
this.tag = tag;
}
}
标签实体如下所示
@Entity
@Table(uniqueConstraints = { @UniqueConstraint(columnNames = "label") })
public class Tag implements Serializable {
private String label;
public void setLabel(String tagLabel) {
this.label = tagLabel;
}
public String getLabel() {
return label;
}
}
用例是;我们有默认值来标记交易。用户通过自动完成器输入框搜索标记。如果没有匹配项,则他/她键入自己的免费标签。当他/她坚持交易实体时,如果数据库中没有存储标签,则标签实体将被坚持,否则将存储的标签实体引用到交易实体
我们可以注释符合这个用例的实体吗?还是所有关于业务逻辑的问题?AFAIK没有像这样直接使用cascade的方法。
您需要指定一个具有正确id的实体,可以通过查找该实体,也可以通过创建一个新实体来获取id,但不级联。感谢您的回复。我们通过将持久化标记分配给当前交易解决了这个问题。然后坚持下去。我认为这一切都与商业逻辑有关。但这让我想到,为这个用例注释实体是否太难了