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

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

上次碰到一个问题: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