Proszę wyjaśnić o insertable = false i updatable = false w odniesieniu do adnotacji JPA @Column
Jeśli pole ma adnotację
insertable = false, updatable = false, czy nie oznacza to, że nie możesz wstawić wartości lub zmienić istniejącej wartości? Dlaczego chcesz to zrobić?
@Entity
public class Person { @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id; @OneToMany(mappedBy="person", cascade=CascadeType.ALL)
private List<Address> addresses;
}@Entity
public class Address { @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id; @ManyToOne
@JoinColumn(name="ADDRESS_FK")
@Column(insertable=false, updatable=false)
private Person person;
}
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
odpowiedzialność
za utworzenie/aktualizację odpowiedniego podmiotu nie spoczywało
obecny
podmioty. Na przykład. masz i . Chcesz dodać do relacji z jednostką w encji tylko dlatego, że encja nie jest odpowiedzialna za tworzenie lub aktualizowanie . Przeciwieństwo jest prawdą.
Anonimowy użytkownik
Potwierdzenie od:
To IMO nie jest kwestią semantyczną, ale zdecydowanie techniczną.
Anonimowy użytkownik
Potwierdzenie od:
BalusC
i
Pascal Thivent
inne częste użycie :
Rozważ kolumnę, która nie jest
identyfikator
ale trochę
numer seryjny
... Odpowiedzialność za obliczenie numeru kolejnego nie musi spoczywać na aplikacji.
Na przykład numer kolejny zaczyna się od 1000 i musi wzrastać o jeden dla każdego nowego obiektu. Jest to łatwe i bardzo poprawne w bazie danych iw takich przypadkach te konfiguracje mają sens.
Anonimowy użytkownik
Potwierdzenie od: