У меня есть таблица, имя которой «Pstn», и есть таблица пользователей. Пользователям не нужно использовать таблицу Pstn. Но некоторые пользователи могут его использовать. Поэтому, если у pstn есть пользователь, мы хотим видеть, кто есть. Как настроить аннотации спящего режима?Как настроить отношения, основанные на аннотациях на гибернате?
pstnBbkTable.setVisibleColumns(new Object[]{"pstn", "bbk", "user.firstName", "inReserve", "creationDate", "expireDate", "button"});
java.lang.IllegalArgumentException: Идентификаторы должны существовать в контейнере или в виде генерируемого столбца, отсутствующий 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;
ТфОП Таблица:
@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;
Это не совсем понятно, какое отношение вы хотите между этими 2 таблицами ... Если я получил это право: один пользователь может иметь ноль или несколько ТфОП? Если вы хотите, чтобы нулевой FK userId в таблице Pstn – Zeromus
@Zeromus да, но когда я пытаюсь перечислить все данные pstn, я получил ошибку, как указано выше; java.lang.IllegalArgumentException: Идентификаторы должны существовать в Контейнере или как сгенерированный столбец, отсутствует id: user.firstName \t at com.vaadin.ui.Table.setVisibleColumns (Table.java:691) –
никогда не использовал этот метод, но shouldnt user.firstName быть фактически userId.firstName? Кажется, что он не может найти эту колонку – Zeromus