Hallo,
folgender Sachverhalt ist gegeben:
Eine CD hat mehrere Interpreten, ein Interpret hat mehrere CDs !
Ist der Code so in Ordnung ? Was für einen Unterschied würde es machen wenn ich statt dem JOIN ein LEFT JOIN mache. Und, NUR mit einem FETCH würden die Interpreten mitgeladen werden, richtig ?
folgender Sachverhalt ist gegeben:
Eine CD hat mehrere Interpreten, ein Interpret hat mehrere CDs !
Ist der Code so in Ordnung ? Was für einen Unterschied würde es machen wenn ich statt dem JOIN ein LEFT JOIN mache. Und, NUR mit einem FETCH würden die Interpreten mitgeladen werden, richtig ?
Java:
@Entity
@Table(name="cd")
@NamedQueries({
@NamedQuery(name = "findCdByInterpretName",
query = "SELECT c
"FROM Cd c JOIN c.interpeten i" +
"WHERE i.name =: " + "name")
})
public class Cd implements Java.io.Serializable {
@Id
@GeneratedValue(strategy=AUTO, generator="cd_sequence_name")
@SequenceGenerator(name="cd_sequence_name", sequenceName="cd_id_seq", allocationSize=1)
@Column(name="id, nullable = false)
private Long id = null;
@Column(name="anzahlTitel", nullable=false)
private int anzahlTitel;
@ManyToMany
@JoinTable(name="cd_interpreten",
joinColumns=@JoinColumn(name="cd_fk"),
inverseJoinColumns=@JoinColumn(name="interpret_fk"))
@OrderBy("id ASC")
private List<Interpret> interpreten;
public Cd() {
super();
}
//GETTER
//SETTER
//@Override toString(), getHashCode(), equals()