cpliu903 2010-04-19 12:49
浏览 175
已采纳

JPA 一對一 問題

[img]http://caterpillar.onlyfun.net/Gossip/EJB3Gossip/images/OneToOneSharedPK-1.jpg[/img]

[code="java"]
public class TUser implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "USER_ID")
private Integer userId;
@Column(name = "NAME")
private String name;
@Column(name = "AGE")
private String age;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "tUser")
@PrimaryKeyJoinColumn(name="USER_ID" , referencedColumnName="ROOM_ID")
private TRoom tRoom;

.
.
.
}

public class TRoom implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "ROOM_ID")
private Integer roomId;
@Column(name = "ADDRESS")
private String address;
@JoinColumn(name = "ROOM_ID", referencedColumnName = "USER_ID", insertable = false, updatable = false)
@OneToOne(optional = false)
private TUser tUser;
.
.
.

[/code]
[code="java"]

TRoom room = new TRoom();
room.setAddress("3/f");

TUser user = new TUser();
user.setAge("100");
user.setName("angus");
user.setTRoom(room);

entityManager.persist(user);[/code]

[b]com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'ROOM_ID' cannot be null[/b]

环境:
EclipseLink(JPA 2.0) persistence provider
MySQL
Glassfish 3.0

配置错在哪里?

  • 写回答

1条回答 默认 最新

  • xiaowu_java 2010-04-22 16:51
    关注

    com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'ROOM_ID' cannot be null

    错误信息很明显是你的TRoom表的roomId没有映射主键生成方式
    在下面
    TRoom room = new TRoom();

    room.setAddress("3/f");

    中也没给roomId去赋值

    解决办法1:
    给roomId映射主键生成策略

    解决办法2:
    给roomId赋值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形