【问题标题】:How to i configure hibernate annotation based relationship?如何配置基于休眠注释的关系?
【发布时间】:2017-06-23 04:33:04
【问题描述】:

我有一个名为“Pstn”的表,并且有一个用户表。用户不必使用 Pstn 表。但是有些用户可以使用它。所以如果一个 pstn 有一个用户,我们想看看谁是。如何配置休眠注解?

 pstnBbkTable.setVisibleColumns(new Object[]{"pstn", "bbk", "user.firstName", "inReserve", "creationDate", "expireDate", "button"});

java.lang.IllegalArgumentException: Ids 必须存在于容器中或作为生成的列,缺少 id: user.firstName 在 com.vaadin.ui.Table.setVisibleColumns(Table.java:691)

用户表:

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "user_Id")
    private long userId;

    @Column(name = "username", nullable = false)
    private String username;

    @Column(name = "password", nullable = false)
    private String password;

    @Column(name = "first_name", nullable = false)
    private String firstName;

    @Column(name = "last_name", nullable = false)
    private String lastName;

Pstn 表:

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "pstn_Id")
    private long pstnId;

    @Column(name = "pstn")
    private String pstn;

    @Column(name = "bbk")
    private String bbk;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_Id")
    private User user;

********************* 更新的解决方案 ****************

我像上面一样替换了 pstn bean 字段。我认为它的发生是因为 FetchType.EAGER-Lazy..

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "user_Id")
    private User owner;

【问题讨论】:

  • 不太清楚你想要这两个表之间的关系...如果我没看错:一个用户可以有零个或多个 Pstn?如果是这样,您希望 Pstn 表中有一个可为空的 FK userId
  • @Zeromus 是的,但是当我尝试列出所有 pstn 数据时,我得到了一个类似上面的错误; java.lang.IllegalArgumentException: Ids 必须存在于容器中或作为生成的列,缺少 id: user.firstName at com.vaadin.ui.Table.setVisibleColumns(Table.java:691)
  • 从未真正使用过该方法,但 user.firstName 实际上不应该是 userId.firstName 吗?好像找不到那一栏

标签: java hibernate spring-mvc vaadin7 spring-annotations


【解决方案1】:

我像上面一样替换了 pstn bean 字段。我认为它的发生是因为 FetchType.EAGER-Lazy..

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_Id")
private User owner;

【讨论】:

    猜你喜欢
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    相关资源
    最近更新 更多