Hibernate单向一对多注解配置以及保存问题 30

实体1:StudentstuIdstuName实体2:BookbookIdbookName如上,有两个实体,一个学生对应多本书,删除一个书本不会对学生对象有影响,当作是单... 实体1:StudentstuId stuName
实体2:BookbookId bookName
如上,有两个实体,一个学生对应多本书,删除一个书本不会对学生对象有影响,当作是单向的一对多。
这两个实体,用Hibernate注解怎么配置?@OneToMany(Student)和@ManyToOne(Book)都写什么?
还有就是想做配置注解的时候生成一个中间关系表(TB_STUDENT_BOOK)来维护他俩关系,当保存Book的时候,就会自动在关系表TB_STUDENT_BOOK里面自动添加那两个实体对象的ID,求大神告诉怎么做。先看一个例子,大神告诉我怎么改。
学生类
public class Student{
private String stuId;

private String stuName;

@LazyCollection(LazyCollectionOption.FALSE)
@ManyToMany()
@JoinTable(name = "TB_STUDENT_BOOK", joinColumns = @JoinColumn(name = "STU_ID"), inverseJoinColumns = @JoinColumn(name = "BOOK_ID"))
private List<Book> books;
//省略getter和setter
}

书本类
public class Book{

private String bookId;
private String bookName;

@ManyToMany(mappedBy = "books")
private Student student;
// 省略getter和setter
}

我这样配置好像不对呃。 当我把student对象set到book中的时候,保存book时候不会自动将两个的ID添加到TB_STUDENT_BOOK里面,报错了,说是试图把不存在的book的id插入tb_student_book中,调试的时候确实发现没有先保存到BOOK中,而是直接先保存TB_STUDENT_BOOK了,所以有这个错误,求大神指教怎么改这个注解。。
展开
 我来答
Ice_Iolly
推荐于2016-01-05 · TA获得超过298个赞
知道小有建树答主
回答量:238
采纳率:100%
帮助的人:141万
展开全部
尽量不要在程序里关联,直接在数据库建表的时候关联,这样你的代码就不用设置任何的关系,直接做自己的操作就行了,数据库建表有个外键关联,可以设置属性,你设置成Update和delete关联就行了,具体不会的话,我可以截操作图给你
追问
数据库关联我会,我们用的都是注解,所以都要求是以实体类方式通过 注解配置的关联关系,很抱歉你的答案无法对帮助我起到作用。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式