package com.litesuits.orm.model.cascade;
import com.litesuits.orm.db.annotation.Column;
import com.litesuits.orm.db.annotation.Mapping;
import com.litesuits.orm.db.annotation.Table;
import com.litesuits.orm.db.annotation.UniqueCombine;
import com.litesuits.orm.db.enums.Relation;
import com.litesuits.orm.model.Model;
/**
* @author MaTianyu
* @date 2015-03-24
*/
@Table("book")
public class Book extends Model {
public static final String COL_AUTHOR = "author";
public static final String COL_INDEX = "_index";
/**
* UniqueCombine 值为1,和 UniqueCombine同值 的属性联合唯一
*/
@UniqueCombine(1)
@Column(COL_INDEX)//避开SQL关键词
private int index;
/**
* UniqueCombine值为1,和 index 联合唯一
*/
@UniqueCombine(1)
@Column(COL_AUTHOR)
private String author;
/**
* 书和学生:多对一关系
*/
@Mapping(Relation.ManyToOne)
public Student student;
public Book(String title) {
super(title);
}
public int getIndex() {
return index;
}
public Book setIndex(int index) {
this.index = index;
return this;
}
public String getAuthor() {
return author;
}
public Book setAuthor(String author) {
this.author = author;
return this;
}
public Student getStudent() {
return student;
}
public Book setStudent(Student student) {
this.student = student;
return this;
}
@Override public String toString() {
return "Book{"
+ super.toString() +
"index = " + index +
", author = " + author +
", student = "
+ (student == null ? "" : student.getName())
+ "} ";
}
}