-1
Erzähl mir richtig Ich verstehe, dass, wenn Sie getOrders() aufrufen, müssen Sie vollständig zurückgeben?Hibernate @OneToMany leeren Satz
FK in Bestellung Tabelle.
Oder Sie müssen nur HQL (JPQL) verwenden, um Orders-Objekt zu erhalten?
Ich werde leer gesetzt. Wenn ich getter anrufe Set OrderSet = bid.getOrders(); Im Debug zeige ich keine Aktionen.
@Entity
@Table(name = "bid")
public class Bid {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "bid_id",cascade = CascadeType.ALL,fetch = FetchType.EAGER)
private Set<Order> orders = new HashSet<>();
@Column(name = "title")
private String title;
@Column(name = "description")
private String description;
public Set<Order> getOrders() {
return orders;
}
public void setOrders(Set<Order> orders) {
this.orders = orders;
}
@Entity
@Table(name = "orders")
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "title")
private String title;
@ManyToOne(optional = true,fetch = FetchType.EAGER,cascade =
CascadeType.ALL)
@JoinColumn(name = "bid")
private Bid bid_id;
@Repository
@Transactional
public class BidDao {
@PersistenceContext
private EntityManager entityManager;
public void create(Bid bid){
entityManager.persist(bid);
}
}
Ja, es sollte vollen Satz zurückgeben.Pls zeigen, wie Sie Bit in Dao-Level bekommen? – xyz
mmm, in dao ich nur create, aber getter call in controller Set orderSet = bid.getOrders(); –
Erstellen/Lesen/Aktualisieren/Löschen Operationen auf der "Entity" sollte im 'Repository' sein, nicht im' Controller'. –