Это моя сущность:Как использовать спящий режим отложенной загрузки с колонки, которая может быть нулевой
@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;
//...
}
В моей Repository у меня есть:
public interface UserRepository extends JpaRepository<User, Long>{
@Query("SELECT u FROM User u JOIN FETCH u.city")
public List<User> findAllUserForApi();
}
Если есть какие-либо города в таблице, findAllUserForApi()
шоу мне полная информация о пользователе:
[{"id":1,"name":"John","surname":"Pillman","city":{"id":1,"name":"New York"}]
Если нет ни одного города, я хочу, чтобы получить по крайней мере [{"id":1,"name":"John","surname":"Pillman","city":null]
Но у меня ничего нет: []
Помогите мне пожалуйста.
Почему бы просто не использовать LEFT JOIN FETCH? – arturo
Блестящий! Я буду отмечать это как ответ. –