做了快两年的EMM,今天zy结束了.
昨天同事遇到了一个问题,搞了一下午,后来我和他们一起研究,搞了好几个小时,最终发现
了原因,在此记录一下。
category 分类表 1 ===>M app_info 表
app_info 中 category_id 是 外键
使用Hibernate3.6.8 注解做的对象关系映射
查询app_info的时候需要将分类关联查出来,于是这样写了语句
String hql = "from AppInfo a join fetch a.category where a.id = 1"
Query query = this.getSession().createQuery();
执行查询后报 categrory_0.category_id 找不到
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CATEGORY_ID", nullable = false,referencedColumnName="ID")
public Category getTbEmmCategory() {
return this.Category;
}
详细的学习了一下joincolumn的属性
JoinColumn
如果在entity class的field上定义了关系(one2one或one2many等),我们通过JoinColumn来定义关系
的属性。JoinColumn的大部分属性和Column类似。
元数据属性说明:
name:当前表的列名称
referencedColumnName:该列指向列的列名(建表时该列作为外键列指向关系另一端的指定列)
unique: 是否唯一
nullable: 是否允许为空
insertable: 是否允许插入
updatable: 是否允许更新
columnDefinition: 定义建表时创建此列的DDL
secondaryTable: 从表名。如果此列不建在主表上(默认建在主表),该属性定义该列所在从表的名字
最后发现category 实体类中定义了一个属性category_id,删掉后就OK了
分享到:
相关推荐
Hibernate一对一,一对多,多对多实例
Hibernate映射一对多关联关系
这里包含了hibernate多对一单向关联关系实现源码,希望对你有用。
hibernate一对多关系的增删查改 修改有点小问题
Hibernate 多对一 一对多 操作实例
Hibernate一对多关系的处理.doc
hibernate一对多的小案例,让你更好地掌握hibernate的一对多关系
hibernate一对多例子 一对多关联 通过外键 连接两个类对应的表,而没有中间集合表。 这个关系模型失去了一些Java集合的语义: 一个被包含的实体的实例只能被包含在一个集合的实例中 一个被包含的实体的实例只能...
hibernate外键实现一对一双向关联关系源码
Hibernate 一对多 多对多 保证代码完整性,能够很好的理解之间的关系。
基于HIBERNATE 操作表的关系练习例子
hibernate关联映射详解SSH 多对多,一对多关系对象映射
后面的hibernate代码,我会慢慢的上传上去,这些资源都是免费的,希望可以帮到大家。
详细解说Hibernate一对多关系,适合初学者学习。
NULL 博文链接:https://dreamzhong.iteye.com/blog/1200915
Hibernate 多表映射关系配置 如,一对一 多对一 多对多等
Hibernate一对一,多对一关系源码
这个PDF用一个实例讲解了怎么来处理一对多和多对一的关系,利用anotation来设定的,很有参考价值。
1:Hibernate的关联映射,存在一对多和多对一映射,多对多映射: 1.1:一对多和多对一映射,举例说明: 学生和老师: 一个老师可以教多个学生 【一对多映射】 多个学生可以被一个老师教【多对一映射】 部门与员工: ...