hibernate推荐使用双向关联
但单向关联也不是不能使用
在使用单向对联的时候 发现在多方 插入的时候 外键虽然设置了值但总是无法插入。
原来是一个小小的属性设置错误。。
这样子写就无法插入了。。
--------------------------------------
下面这样子就可以了
这儿关键就是一个insertable = false,属性的设置。。
对于JPA的知识点
[quote]4. 设置字段类型
通过@Column注解设置,包含的设置如下
.name:字段名
.unique:是否唯一
.nullable:是否可以为空
.inserttable:是否可以插入
.updateable:是否可以更新
.columnDefinition: 定义建表时创建此列的DDL
.secondaryTable: 从表名。如果此列不建在主表上(默认建在主表),该属性定义该列所在从表的名字。[/quote]
更多 [url]http://www.java1995.cn/article/878.html[/url]
但单向关联也不是不能使用
在使用单向对联的时候 发现在多方 插入的时候 外键虽然设置了值但总是无法插入。
原来是一个小小的属性设置错误。。
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "uid", nullable = false, insertable = false, updatable = false)
public JUser getJuser() {
return user;
}
这样子写就无法插入了。。
--------------------------------------
下面这样子就可以了
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "uid", nullable = false, updatable = false)
public JUser getJuser() {
return user;
}
这儿关键就是一个insertable = false,属性的设置。。
对于JPA的知识点
[quote]4. 设置字段类型
通过@Column注解设置,包含的设置如下
.name:字段名
.unique:是否唯一
.nullable:是否可以为空
.inserttable:是否可以插入
.updateable:是否可以更新
.columnDefinition: 定义建表时创建此列的DDL
.secondaryTable: 从表名。如果此列不建在主表上(默认建在主表),该属性定义该列所在从表的名字。[/quote]
更多 [url]http://www.java1995.cn/article/878.html[/url]