package org.zstack.network.securitygroup;
import org.zstack.header.network.l3.L3NetworkEO;
import org.zstack.header.network.l3.L3NetworkVO;
import org.zstack.header.vo.ForeignKey;
import org.zstack.header.vo.ForeignKey.ReferenceOption;
import org.zstack.header.vo.SoftDeletionCascade;
import org.zstack.header.vo.SoftDeletionCascades;
import javax.persistence.*;
import java.sql.Timestamp;
@Entity
@Table
@SoftDeletionCascades({
@SoftDeletionCascade(parent = L3NetworkVO.class, joinColumn = "l3NetworkUuid"),
@SoftDeletionCascade(parent = SecurityGroupVO.class, joinColumn = "securityGroupUuid")
})
public class SecurityGroupL3NetworkRefVO {
@Id
@Column
private String uuid;
@Column
@ForeignKey(parentEntityClass = L3NetworkEO.class, onDeleteAction = ReferenceOption.CASCADE)
private String l3NetworkUuid;
@Column
@ForeignKey(parentEntityClass = SecurityGroupVO.class, onDeleteAction = ReferenceOption.CASCADE)
private String securityGroupUuid;
@Column
private Timestamp createDate;
@Column
private Timestamp lastOpDate;
@PreUpdate
private void preUpdate() {
lastOpDate = null;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getL3NetworkUuid() {
return l3NetworkUuid;
}
public void setL3NetworkUuid(String l3NetworkUuid) {
this.l3NetworkUuid = l3NetworkUuid;
}
public String getSecurityGroupUuid() {
return securityGroupUuid;
}
public void setSecurityGroupUuid(String securityGroupUuid) {
this.securityGroupUuid = securityGroupUuid;
}
public Timestamp getCreateDate() {
return createDate;
}
public void setCreateDate(Timestamp createDate) {
this.createDate = createDate;
}
public Timestamp getLastOpDate() {
return lastOpDate;
}
public void setLastOpDate(Timestamp lastOpDate) {
this.lastOpDate = lastOpDate;
}
}