JPA-репозиторий Spring-data Упорядочивание путем потери нулевых значений в результатах

Я использую spring-data и репозиторий jpa для мои запросы. У меня возникла проблема: у меня есть сущность с полем ManyToOne, и если я упорядочиваю это поле в запросе, то любые значения, имеющие значение Null для этого поля, не возвращаются в моем списке. Это не похоже на правильное поведение.

Вот как выглядят мои объекты:

@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;

}

Затем пользовательский объект 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;


}

У меня есть репозиторий JPA следующим образом:

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

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

Я упростил большую часть кода, чтобы вы могли получить представление. Все запросы работают отлично, проблема возникает, когда я устанавливаю Sort в моем объекте Pageable для сортировки по столбцу owner_user_id. Если какая-либо из записей в таблице элементов имеет значение null для owner_user_id, они не возвращаются в списке.

Могу ли я добавить какую-нибудь аннотацию, чтобы обойти это? Или что-то еще я могу сделать? Я действительно хочу продолжать использовать репозиторий, но не думаю, что буду, если не смогу обойти это. Я использую спящий режим и MYSQL, не уверен, что это часть проблемы.

Спасибо.

5
задан devo 15 June 2012 в 14:38
поделиться