Добрый день, в очередной раз попал в тупик и не знаю как быть, помогите плиззз есть две таблицы, использую spring и hibernate
@Entity
@Table(name = "cwd_user")
public class cwd_user {
@Id
@Column(name = "ID")
private int id;
@Column(name = "user_name")
private String user_name;
@Column(name = "display_name")
private String display_name;
@OneToMany
@JoinColumn(name = "author")
private Set<Worklog> worklog;
//гетеры и сеттеры
}
@Entity
@Table(name = "worklog")
public class Worklog {
@Id
@Column(name = "ID")
@GeneratedValue
private Integer id;
@Column(name = "AUTHOR")
private String author;
@Column(name = "STARTDATE")
private Date startdate;
@Column(name = "timeworked")
private int timeworked;
@ManyToMany
@JoinColumn(name = "user_name")
private cwd_user cwd_user;
//геттеры и сеттеры
}
Мне нужно связать их по полям worklog.author = cwd_user.user_name
, но перечитав много статей, у меня так и не вышло ничего
Помогите пожалуйста, как правильно указать аннотацию и так же, как правильно в самом запросе писать inner join?
нужно ли писать from worklog w inner join cwd_user s on w.author = s.user_name
?
причем мне нужно из cwd_user
вывести display_name
, а из worklog
вывести timeworked
и startdate
. И вывести все на веб-страницу
Сделал вот так(связь Один ко многим, то есть в таблице cwd_user только одно значение) В класс таблицы cwd_user добавил аннотацию @OneToMany
@OneToMany(mappedBy = "cwduser", fetch = FetchType.LAZY)
private Set<Worklog> worklogList;
public Set<Worklog> getWorklog() {
return worklogList;
}
public void setWorklog(Set<Worklog> worklogList) {
this.worklogList = worklogList;
}
в класс Worklog
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "user_name")
private cwd_user cwduser;
public cwd_user getCwd_user() {
return cwduser;
}
public void setCwd_user(cwd_user cwduser) {
this.cwduser = cwduser;
}
Запустил тестирование на запросе from Worklog l where l.author =
, пишет java.sql.SQLException: Invalid column name 'user_name'.
Запустил с запросом from Worklog l inner join cwd_user c on l.author = c.user_name where l.author =
пишет org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 1, column 80 [from domain.Worklog l inner join cwd_user c on l.author = c.user_name where l.author =
Кто может помочь, помогите понять
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите, как я могу считать данные с EditText и прогнать их через метод в другом классе?
В моей cms есть настройка с adminareasettingsricheditoradditionalsettings и значением settings
Использую ползунок (input type range)Дело в том, что по макету он в 1px и все идеально, только вот кликнуть по нему очень сложно, надо попасть в этом...