Das ist meine Einheit:Wie mit Spalte verzögertes Laden überwintern verwenden, die null sein kann
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "surname")
private String surname;
@ManyToOne(fetch = FetchType.LAZY, cascade=CascadeType.MERGE)
@JoinColumn(name = "id_city")
private City city;
//...
}
In meinem Repository Ich habe:
public interface UserRepository extends JpaRepository<User, Long>{
@Query("SELECT u FROM User u JOIN FETCH u.city")
public List<User> findAllUserForApi();
}
Wenn gibt es irgendwelche Städte in der Tabelle, findAllUserForApi()
zeigt mir vollständige Informationen über Benutzer:
[{"id":1,"name":"John","surname":"Pillman","city":{"id":1,"name":"New York"}]
Wenn es keine Städte sind, ich zumindesterhalten möchten Aber ich habe nichts: []
Hilf mir bitte.
Warum nicht einfach LEFT JOIN FETCH verwenden? – arturo
Brilliant! Ich werde es als Antwort markieren. –