私は、動作しているSpringブートアプリケーションを持っています。私はJPA/Hibernateを初めて使用していますが、null値を含まないフィールドのいずれかを持つ結果を取得しようとしています。今、私はnullを含むすべてを取得しています。カラムがnullでない行を返す
phone_number_id
私はそれをnullにしたくありません。私はnullable=false
を追加しましたが、検索には何の効果もないようです。
私はphone_number_id
マイモデル
@Entity
@NamedQuery(name="Ad.findAll", query="SELECT a FROM Ad a")
public class Ad implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Long id;
@Column(name="ad_content")
private String adContent;
@Column(name="ad_title")
private String adTitle;
@Column(name="ad_url")
private String adUrl;
private Integer age;
@Column(name="post_id")
private Long postId;
//bi-directional many-to-one association to City
@ManyToOne
private City city;
//bi-directional many-to-one association to PhoneNumber
@ManyToOne
@JoinColumn(name="phone_number_id", nullable=false)
private PhoneNumber phoneNumber;
//bi-directional many-to-one association to AdPhoto
@OneToMany(mappedBy="ad")
private List<AdPhoto> adPhotos;
public Ad() {
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getAdContent() {
return this.adContent;
}
public void setAdContent(String adContent) {
this.adContent = adContent;
}
public String getAdTitle() {
return this.adTitle;
}
public void setAdTitle(String adTitle) {
this.adTitle = adTitle;
}
public String getAdUrl() {
return this.adUrl;
}
public void setAdUrl(String adUrl) {
this.adUrl = adUrl;
}
public Integer getAge() {
return this.age;
}
public void setAge(Integer age) {
this.age = age;
}
public Long getPostId() {
return this.postId;
}
public void setPostId(Long postId) {
this.postId = postId;
}
public City getCity() {
return this.city;
}
public void setCity(City city) {
this.city = city;
}
public PhoneNumber getPhoneNumber() {
return this.phoneNumber;
}
public void setPhoneNumber(PhoneNumber phoneNumber) {
this.phoneNumber = phoneNumber;
}
public List<AdPhoto> getAdPhotos() {
return this.adPhotos;
}
public void setAdPhotos(List<AdPhoto> adPhotos) {
this.adPhotos = adPhotos;
}
public AdPhoto addAdPhoto(AdPhoto adPhoto) {
getAdPhotos().add(adPhoto);
adPhoto.setAd(this);
return adPhoto;
}
public AdPhoto removeAdPhoto(AdPhoto adPhoto) {
getAdPhotos().remove(adPhoto);
adPhoto.setAd(null);
return adPhoto;
}
マイリポジトリ
@Repository
public interface AdRepository extends PagingAndSortingRepository<Ad, Long> {
}
と私のサービスクラス
のヌル出現を持っていない列のみを取得するために行うには何が必要です@Service
public class AdService {
private final static int PAGESIZE = 3;
@Autowired
AdRepository adRepository;
public Iterable<Ad> findAllAds() {
return adRepository.findAll();
}
public List<Ad> getPage(int pageNumber) {
PageRequest request = new PageRequest(pageNumber - 1, PAGESIZE, Sort.Direction.ASC, "id");
return adRepository.findAll(request).getContent();
}
}
リスト findByPhoneNumberIsNotNull(PageRequest request); 'nullではないので、私はそれを渡しています。PageRequest request 'AdServiceクラスから? –
Arya
@Aryaはい、またはコース、よく発見された:) –