import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToMany;
+import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import org.apache.log4j.Logger;
+import org.hibernate.annotations.Cascade;
+import org.hibernate.annotations.CascadeType;
+import org.hibernate.annotations.IndexColumn;
import org.hibernate.envers.Audited;
+import org.hibernate.search.annotations.Indexed;
+import org.springframework.beans.factory.annotation.Configurable;
import eu.etaxonomy.cdm.strategy.cache.agent.TeamDefaultCacheStrategy;
})
@XmlRootElement
@Entity
+@Indexed(index = "eu.etaxonomy.cdm.model.agent.AgentBase")
@Audited
+@Configurable
public class Team extends TeamOrPersonBase<Team> {
private static final long serialVersionUID = 97640416905934622L;
public static final Logger logger = Logger.getLogger(Team.class);
@XmlElement(name = "TeamMember")
@XmlIDREF
@XmlSchemaType(name = "IDREF")
- @ManyToMany(fetch = FetchType.LAZY)
+ @IndexColumn(name="sortIndex", base = 0)
+ @ManyToMany(fetch = FetchType.LAZY)
+ @Cascade(CascadeType.SAVE_UPDATE)
private List<Person> teamMembers = new ArrayList<Person>();
*
* @return a string which identifies <i>this</i> team
*/
- @Override
- public String generateTitle() {
- return cacheStrategy.getTitleCache(this);
- }
+// @Override
+// public String generateTitle() {
+// return cacheStrategy.getTitleCache(this);
+// }
/**
* @return a string which identifies <i>this</i> team for nomenclature
*/
@Override
+ @Transient
public String getNomenclaturalTitle() {
if (protectedNomenclaturalTitleCache == PROTECTED){
return this.nomenclaturalTitle;