Hibernate java配置问题:单向多对一,多方的外键列名,和一方的主键列名不同,
2个回答
展开全部
1.Hibernate是一种对象关系型映射的框架,把对象作为属性赋值给另外一个对象,实际上在底层完成的操作就是将其id赋值给另外那个对象表的外键。而在操作上,直接操作对象会更直观,所以你可以看到在Hibernate中使用的不是一般的sql,而是hql;
2.联合主键实际上可以做成一张表,而一张表当然对应一个实体类,如果你想通过联合主键来查找,原理跟1中的原理是一样的,你联合主键封装成的那个类实际上就是“成绩”的一个属性,你在编写hql时写成这个属性满足什么条件即可,例如:select * from Score s where s.sid="" and s.cid="" ;
3.一对多关系形成的不一定是Set对象,你同样可以做成List,但是因为你在将多的一方做成集合赋值给一的一方的时候,使用了Set,所以在写配置文件的时候就是用的Set标签。
2.联合主键实际上可以做成一张表,而一张表当然对应一个实体类,如果你想通过联合主键来查找,原理跟1中的原理是一样的,你联合主键封装成的那个类实际上就是“成绩”的一个属性,你在编写hql时写成这个属性满足什么条件即可,例如:select * from Score s where s.sid="" and s.cid="" ;
3.一对多关系形成的不一定是Set对象,你同样可以做成List,但是因为你在将多的一方做成集合赋值给一的一方的时候,使用了Set,所以在写配置文件的时候就是用的Set标签。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询