annotation 多对一映射

「已注销」 2012-02-09 11:09:23
public class Test {

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="sequence")
@Column(name = "ID")
public Long getId() {
return id;
}

@ManyToOne(cascade={CascadeType.PERSIST,CascadeType.MERGE})
@JoinColumn(name = "ITEMS_ID", referencedColumnName = "ID",nullable=true)
public BaseItems getBaseItems() {
return baseItems;
}

public void setBaseItems(BaseItems baseItems) {
this.baseItems = baseItems;
}
请问:保存当前类,不给baseItems 赋值,为何不行
...全文
96 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2012-02-13
  • 打赏
  • 举报
回复
是啊,是可以为空的,但是hibernate映射插入值时必须有值,不然报错,annotation映射的属性也是可以为空的
xs_sky1 2012-02-10
  • 打赏
  • 举报
回复
表结构里外键是不是可以允许为空
「已注销」 2012-02-10
  • 打赏
  • 举报
回复
求救啊
「已注销」 2012-02-09
  • 打赏
  • 举报
回复
有外键。手动赋值??hibernate应该没这么笨吧!
qq737604771 2012-02-09
  • 打赏
  • 举报
回复
一,你数据库中是否创建了外键。
二,不给baseItems赋值,因为默认的时候baseInters他关联不到BaseItems 所以会报错,如果baseItems没值, 建议你给baseIntems赋个null值把。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧