blob: b7f54e413e3d569768ad5bc63f7c64a10b385652 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.openjpa.persistence.flush;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import org.apache.openjpa.persistence.ElementDependent;
@Entity
@Table(name="FL_TOPIC")
public class Topic implements Serializable {
private static final long serialVersionUID = -2570150606711529060L;
@Id
@Column(name="TOPIC_ID")
@SequenceGenerator(name="topicIdSeq", sequenceName="TOPIC_SEQ")
@GeneratedValue(generator="topicIdSeq", strategy=GenerationType.SEQUENCE)
protected Long topicId;
@ManyToOne(cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}, fetch=FetchType.LAZY)
@JoinColumn(name="CLP_ID")
protected ClassPeriod clp;
@Column(name="TOPIC_TEXT")
protected String topicText;
@OneToMany(mappedBy="topic",cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@ElementDependent(true)
protected Set<Assignment> assignments;
@OneToMany(mappedBy="topic",cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@ElementDependent(true)
protected Set<SubTopic> subTopics;
public Long getTopicId() {
return topicId;
}
public void setTopicId(Long topicId) {
this.topicId = topicId;
}
public ClassPeriod getClassPeriod() {
return clp;
}
public void setClassPeriod(ClassPeriod clp) {
this.clp = clp;
}
public String getTopicText() {
return topicText;
}
public void setTopicText(String topicText) {
this.topicText = topicText;
}
public Set<Assignment> getAssignments() {
return assignments;
}
public void setAssignments(Set<Assignment> assignments) {
this.assignments = assignments;
}
public Set<SubTopic> getSubTopics() {
return subTopics;
}
public void setSubTopics(Set<SubTopic> subTopics) {
this.subTopics = subTopics;
}
}