六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 20|回复: 0

jpa 一对多单向关联 查询问题

[复制链接]

升级  59.33%

118

主题

118

主题

118

主题

举人

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2013-2-7 16:07:28 | 显示全部楼层 |阅读模式
上次碰到一个问题:jpa 一对多单向关联 插入问题

 
无法正常插入,,今天又碰到一个无法查询的问题。。
 
one--many的时候,many的这个外键为null的时候,并且many方设置FetchType.EAGER(其实manttoone默认值也是EAGER,详细可见http://www.java1995.cn/article/936.html),
 
却发现数据库明明有的数据却查询不出来。。纠结,想起了上次的插入问题,
看看了
@ManyToOne(fetch = FetchType.EAGER)@JoinColumn(name = "chapter", nullable = false, insertable = false, updatable = false) 看到个nullable=false这个选项,但在数据库中的这个字段是为null值,于是把nullable设置为true,再查询的时候就出现值了。。
 
上面既然nullable=false,又是怎么插入null值的呢?其实在插入的时候是通过下面的这个属性插入的。。看看它们的annotation,就明白了。
 
@Column(name = "chapter", unique = false, nullable = true, insertable = true, updatable = true, length = 11)public java.lang.Integer getChapter() {return this.chapter;} 
两处明显的不同。
 
JPA的更多资料  http://www.java1995.cn/article/878.html
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表