Java tutorial
/* * Copyright (c) 2013-2014. Powered by http://oakhole.com . * * Licensed 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 com.oakhole.sms.entity; import com.fasterxml.jackson.annotation.JsonIgnore; import com.google.common.collect.Lists; import com.oakhole.auth.entity.File; import com.oakhole.auth.entity.IdEntity; import com.oakhole.auth.entity.User; import com.oakhole.channel.entity.ChannelGroup; import org.hibernate.annotations.Cache; import org.hibernate.annotations.*; import javax.persistence.CascadeType; import javax.persistence.*; import javax.persistence.Entity; import javax.persistence.OrderBy; import javax.persistence.Table; import javax.xml.bind.annotation.XmlTransient; import java.util.List; /** * * * @author oakhole * @since 1.0 */ @Entity @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @DynamicInsert @DynamicUpdate @Table(name = "sms_task") public class SmsTask extends IdEntity { private File phone_attachment; //??5M private String content; private String planTime; private String sendTime; private String sendStatus; private List<Sms> smsList = Lists.newArrayList(); private User owner; private ChannelGroup channelGroup; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "phone_attachment") public File getPhone_attachment() { return phone_attachment; } public void setPhone_attachment(File phone_attachment) { this.phone_attachment = phone_attachment; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } @Column(name = "plan_time") public String getPlanTime() { return planTime; } public void setPlanTime(String planTime) { this.planTime = planTime; } @Column(name = "send_time") public String getSendTime() { return sendTime; } public void setSendTime(String sendTime) { this.sendTime = sendTime; } @Column(name = "send_status") public String getSendStatus() { return sendStatus; } public void setSendStatus(String sendStatus) { this.sendStatus = sendStatus; } @OneToMany(targetEntity = Sms.class, cascade = CascadeType.ALL, mappedBy = "smsTask") @Fetch(FetchMode.SUBSELECT) @OrderBy("id asc") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @JsonIgnore @XmlTransient public List<Sms> getSmsList() { return smsList; } public void setSmsList(List<Sms> smsList) { this.smsList = smsList; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "owner") public User getOwner() { return owner; } public void setOwner(User owner) { this.owner = owner; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "channel_group_id") public ChannelGroup getChannelGroup() { return channelGroup; } public void setChannelGroup(ChannelGroup channelGroup) { this.channelGroup = channelGroup; } }