Hallo zusammen,
irgendwie verstehe ich das Benutzen von Hibernate via Annotations immer noch nicht. Ich will mir so ein Ticket System selber bauen und hänge beim Schreiben von Einträge.
Ich habe zwei Entity Klasse:
Bei der Modellierung sieht es so aus. Ich habe Projekte, die Projekte enthalten Issues. Issues können Assignee, Reporters und Watchers enthalten.
Die erste Frage ist. Wie referenziere ich in Hibernate Projekt zu Issue? SOll ich in der Projekt Klasse eine Issue Klasse als Feld legen. Und was ist mit umgekehrt von Issue zu Projekt?
Weiter will ich wissen, wenn ich im Issue mehrere User Felder habe, wie kann ich das mit Annotationen machen?
Referenzierung von Assignee über @OneToOne, Reporters und Watchers über @OneToMany wie oben definiert ist.
Ich glaube da ist etwas nicht sauber.
Könnt ihr mir da ein bissle Rat dazu geben, wie man das richtig macht?
Viele Grüße
lam
irgendwie verstehe ich das Benutzen von Hibernate via Annotations immer noch nicht. Ich will mir so ein Ticket System selber bauen und hänge beim Schreiben von Einträge.
Ich habe zwei Entity Klasse:
Code:
@Entity
public class Issue {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ISSUE_ID", nullable = false, columnDefinition = "BIGINT")
private Long id;
@Column(nullable = false)
private String name;
@OneToMany(mappedBy="issue")
private Set<Label> labels;
@OneToMany(mappedBy="issue")
private Set<Component> components;
@Column(nullable = true)
private String description;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "USER_ID")
private User assignee;
@OneToMany(mappedBy="issue")
private Set<User> reporters;
@OneToMany(mappedBy="issue")
private Set<User> watchers;
}
Java:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "USER_ID", nullable = false, columnDefinition = "BIGINT")
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private Timestamp created;
@Column(nullable = true)
private String statustext;
@ManyToOne
@JoinColumn(name="ISSUE_ID", nullable=true)
private Issue issue;
Bei der Modellierung sieht es so aus. Ich habe Projekte, die Projekte enthalten Issues. Issues können Assignee, Reporters und Watchers enthalten.
Die erste Frage ist. Wie referenziere ich in Hibernate Projekt zu Issue? SOll ich in der Projekt Klasse eine Issue Klasse als Feld legen. Und was ist mit umgekehrt von Issue zu Projekt?
Code:
class Projekt{
private List<Issue> issues
}
class Issue{
private Projekt referencedProject;
}
Weiter will ich wissen, wenn ich im Issue mehrere User Felder habe, wie kann ich das mit Annotationen machen?
Referenzierung von Assignee über @OneToOne, Reporters und Watchers über @OneToMany wie oben definiert ist.
Ich glaube da ist etwas nicht sauber.
Könnt ihr mir da ein bissle Rat dazu geben, wie man das richtig macht?
Viele Grüße
lam