hibernate--annotation的使用
2016-01-08 16:41
363 查看
1 首先要把mapping标签的resource=换成class=
2注意很多类 都是从javax.persistence中来的 要注意
student.java
Classroom.java
2注意很多类 都是从javax.persistence中来的 要注意
student.java
@Entity @Table(name="t_stu") //@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)//开启二级缓存 缓存对象 //对该对象加锁是为了修改安全 这种经常修改的肯定不能放到二级缓存中 public class Student { private int id; private String name; private String sex; private Classroom classroom; private int version; @Version//加乐观锁 public int getVersion() { return version; } public void setVersion(int version) { this.version = version; } public Student() { } @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } //fetch=FetchType.LAZY就是XML中的select fetch=FetchType.EAGER就是XML中的join @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="cid") public Classroom getClassroom() { return classroom; } public void setClassroom(Classroom classroom) { this.classroom = classroom; } }
Classroom.java
@Entity @Table(name="t_cla") @BatchSize(size=2) public class Classroom { private int id; private String name; private int grade; private Set<Student> students; private Special special; public Classroom() { } @ManyToOne @JoinColumn(name="spec_id") public Special getSpecial() { return special; } public void setSpecial(Special special) { this.special = special; } @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getGrade() { return grade; } public void setGrade(int grade) { this.grade = grade; } @OneToMany(mappedBy="classroom") @LazyCollection(LazyCollectionOption.EXTRA) @Fetch(FetchMode.SUBSELECT)//此处等于xml中在一端set中配置fetch="sub-select" public Set<Student> getStudents() { return students; } public void setStudents(Set<Student> students) { this.students = students; } }Specail.java
@Entity @Table(name="t_spec") public class Special { private int id; private String name; private String type; private Set<Classroom> clas; public Special() { } @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getType() { return type; } public void setType(String type) { this.type = type; } @OneToMany(mappedBy="special") @LazyCollection(LazyCollectionOption.EXTRA) public Set<Classroom> getClas() { return clas; } public void setClas(Set<Classroom> clas) { this.clas = clas; } }
相关文章推荐
- Project Euler 25
- 【java】java笔记
- UML 小结(5)- UML九种图的比较与学习
- floyd算法模板
- Android简单实现圆盘抽奖界面
- maya 2015 官方资料学习记录
- linux 进程死锁
- nodejs Tips1
- mysql性能的检查和调优方法
- java基础巩固笔记(1)-反射
- ubuntu下swift安装
- Go fsm
- iOS UI三大控件和应用程序启动流程
- 25. Reverse Nodes in k-Group
- Java 时间输出&休眠
- unicode码转换成中文
- thinkPHP-url重写开启方法and开启AllOverride后出现问题解决方法
- WPF如何实现拖拽打开文件(将文件拖进窗体打开)
- 网络编程归纳总结三阶段
- Android开发之获取短信验证码后按钮背景变化并且出现倒计时