package org.zstack.header.network.service; import org.zstack.header.vo.Index; import javax.persistence.*; import java.sql.Timestamp; import java.util.HashSet; import java.util.Set; @Entity @Table @Inheritance(strategy = InheritanceType.JOINED) public class NetworkServiceProviderVO { @Id @Column private String uuid; @Column @Index private String name; @Column private String description; @Column private String type; @Column private Timestamp createDate; @Column private Timestamp lastOpDate; @ElementCollection(fetch = FetchType.EAGER) @CollectionTable( name = "NetworkServiceTypeVO", joinColumns = @JoinColumn(name = "networkServiceProviderUuid") ) @Column(name = "type") private Set<String> networkServiceTypes = new HashSet<String>(); @OneToMany(fetch = FetchType.EAGER) @JoinColumn(name = "networkServiceProviderUuid", insertable = false, updatable = false) private Set<NetworkServiceProviderL2NetworkRefVO> attachedL2NetworkRefs = new HashSet<NetworkServiceProviderL2NetworkRefVO>(); @PreUpdate private void preUpdate() { lastOpDate = null; } public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } 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; } public Set<String> getNetworkServiceTypes() { return networkServiceTypes; } public void setNetworkServiceTypes(Set<String> networkServiceTypes) { this.networkServiceTypes = networkServiceTypes; } public Set<NetworkServiceProviderL2NetworkRefVO> getAttachedL2NetworkRefs() { return attachedL2NetworkRefs; } public void setAttachedL2NetworkRefs(Set<NetworkServiceProviderL2NetworkRefVO> attchedL2NetworkRefs) { this.attachedL2NetworkRefs = attchedL2NetworkRefs; } public String getType() { return type; } public void setType(String type) { this.type = type; } }