Repozytorium JPA z danymi wiosna Zamówienie przez utratę wartości zerowych w wynikach

Korzystam z danych wiosna i repozytorium jpa dla moich zapytań. Mam problem z tym, że mam obiekt z polem ManyToOne, jeśli zamówię przez to pole w zapytaniu, to wszystkie wartości, które mają wartość Null dla tego pola, nie są zwracane na mojej liście. To nie wygląda na właściwe zachowanie.

Oto jak wyglądają moje obiekty:

@Entity
public class Item {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "id")
private Integer id;


@Size(max = 255)
@Column(name = "name")
private String name;

@JoinColumn(name = "owner_user_id", referencedColumnName = "id")
@ManyToOne(fetch = FetchType.LAZY)
private User ownerUserId;

}

Następnie jednostka użytkownika ManyToOne

@Entity
public class User {

@Size(max = 100)
@Column(name = "email")
private String email;
@Size(max = 256)
@Column(name = "first_name")
private String firstName;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "id")
private Integer id;

@OneToMany(cascade = CascadeType.ALL, mappedBy = "ownerUserId", fetch = FetchType.LAZY)
private Collection<Item> itemCollection;


}

Mam takie repozytorium JPA:

@Transactional
public interface ItemRepository extends JpaRepository<Item, Integer> {

 @Query("FROM Item i where name = ?1");
 Page<Item> findItemWithName(String name, Pageable pageable);
}

Uprościłem dużo kodu, żebyś mógł uzyskać pomysł. Wszystkie zapytania działają doskonale, problem pojawia się, gdy ustawiam obiekt Sort in my Pageable do sortowania w kolumnie owner_user_id. Jeśli którykolwiek z wpisów w tabeli elementów ma wartość NULL dla właściciela_użytkownika, nie są one zwracane na liście.

Czy jest jakiś rodzaj adnotacji, którą mogę dodać, aby obejść to? Albo coś innego, co mogę zrobić? Naprawdę chcę nadal używać repozytorium, ale nie sądzę, że będę, jeśli nie będę w stanie tego obejść. Używam hibernacji i MySQL, nie jestem pewien, czy jest to część problemu.

Dzięki.

questionAnswers(1)

yourAnswerToTheQuestion