Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用SQL标准JPA Spring显示列表的元素_Java_Sql_Spring_Jpa - Fatal编程技术网

Java 使用SQL标准JPA Spring显示列表的元素

Java 使用SQL标准JPA Spring显示列表的元素,java,sql,spring,jpa,Java,Sql,Spring,Jpa,现在我可以显示一个广告列表,整个列表 我只需要显示一些广告(由用户创建的广告,用户跟随) 我怎么能做出这样的东西 “从广告列表中选择广告 其中User.followList中的ad.userId”(类似于此) 广告服务: public Block<AdImageObject> getAdList(int page, int size) { AdImageObject adImage; Slice<DefaultAdEntity> ads = adRepo

现在我可以显示一个广告列表,整个列表

我只需要显示一些广告(由用户创建的广告,用户跟随)

我怎么能做出这样的东西

“从广告列表中选择广告 其中User.followList中的ad.userId”(类似于此)

广告服务:

public Block<AdImageObject> getAdList(int page, int size) {
    AdImageObject adImage;

    Slice<DefaultAdEntity> ads = adRepository.findAllByOrderByDateDesc(PageRequest.of(page, size));

    List<DefaultPictureEntity> pictures = pictureRepository.findAll();
    List<AdImageObject> ListAdImage = new ArrayList<AdImageObject>();

    for (DefaultAdEntity a : ads) {
        List<DefaultPictureEntity> picts = new ArrayList<DefaultPictureEntity>();
        for (DefaultPictureEntity pict : pictures) {

            // Buscamos en la lista de imagenes si el anuncio tiene imagen
            if (pict.getAd().getId() == a.getId()) {

                // Asignamos la imagen (si la tiene)
                picts.add(pict);
            }
        }
        adImage = new AdImageObject(picts, a);
        ListAdImage.add(adImage);
    }

您可以使用
findByUserIdIn(列出用户ID)
。我不知道你的实体是什么样子。但如果你能分享你的实体,那就更准确了。哪一个是我的“用户”实体还是我的“广告”?提前谢谢!我相信它是
DefaultAdEntity
这段代码也是关于这个项目的,如果你需要根据使用列表获取DefaultAdEntity列表,你能试试查询方法
findByUserIn(列表用户,可分页)
public interface AdService {
        
    public Block<AdImageObject> getAdList(int page, int size);
    
}
@Repository
public interface AdRepository extends JpaRepository<DefaultAdEntity, Integer> {

    Slice<DefaultAdEntity> findAllByOrderByDateDesc(Pageable pageRequest);
        
}
package es.udc.fi.dc.fd.model.persistence;

import static com.google.common.base.Preconditions.checkNotNull;

import java.time.LocalDateTime;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import es.udc.fi.dc.fd.model.AdEntity;
import es.udc.fi.dc.fd.model.UserEntity;

@Entity(name = "DefaultAdEntity")
@Table(name = "ad")
public class DefaultAdEntity implements AdEntity {

    /**
     * 
     */
    private static final long serialVersionUID = -5167113468442767604L;

    /*
     * Ad's ID.
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false, unique = true)
    private Integer id = -1;

    @Column(name = "title", nullable = false, unique = false)
    private String title;

    @Column(name = "description", nullable = false, unique = false)
    private String description;

    @Column(name = "date", nullable = false, unique = false)
    private LocalDateTime date;

    @Column(name = "price", nullable = true, unique = false)
    private int price;

    @ManyToOne(optional = false, fetch = FetchType.LAZY, targetEntity = DefaultUserEntity.class)
    @JoinColumn(name = "UserId")
    private UserEntity user;

    public DefaultAdEntity() {
        super();
    }

    public DefaultAdEntity(Integer id, String title, String description, LocalDateTime date, int price,
            UserEntity user) {
        super();
        this.id = id;
        this.title = title;
        this.description = description;
        this.date = date;
        this.price = price;
        this.user = user;
    }

    @Override
    public Integer getId() {
        return id;
    }

    @Override
    public void setId(final Integer value) {
        id = checkNotNull(value, "Received a null pointer as identifier");
    }

    @Override
    public String getTitle() {
        return title;
    }

    @Override
    public void setTitle(final String value) {
        title = checkNotNull(value, "Received a null pointer as title");
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public void setDescription(final String value) {
        description = checkNotNull(value, "Received a null pointer as description");
    }

    @Override
    public LocalDateTime getDate() {
        return date;
    }

    @Override
    public void setDate(final LocalDateTime value) {
        date = checkNotNull(value, "Received a null pointer as date");
    }

    @Override
    public int getPrice() {
        return price;
    }

    @Override
    public void setPrice(final int value) {
        price = checkNotNull(value, "Received a null pointer as price");
    }

    @Override
    public UserEntity getUser() {
        return user;
    }

    @Override
    public void setUser(final UserEntity value) {
        user = checkNotNull(value, "Received a null pointer as user");
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((date == null) ? 0 : date.hashCode());
        result = prime * result + ((description == null) ? 0 : description.hashCode());
        result = prime * result + ((id == null) ? 0 : id.hashCode());
        result = prime * result + price;
        result = prime * result + ((title == null) ? 0 : title.hashCode());
        result = prime * result + ((user == null) ? 0 : user.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        DefaultAdEntity other = (DefaultAdEntity) obj;
        if (date == null) {
            if (other.date != null)
                return false;
        } else if (!date.equals(other.date))
            return false;
        if (description == null) {
            if (other.description != null)
                return false;
        } else if (!description.equals(other.description))
            return false;
        if (id == null) {
            if (other.id != null)
                return false;
        } else if (!id.equals(other.id))
            return false;
        if (price != other.price)
            return false;
        if (title == null) {
            if (other.title != null)
                return false;
        } else if (!title.equals(other.title))
            return false;
        if (user == null) {
            if (other.user != null)
                return false;
        } else if (!user.equals(other.user))
            return false;
        return true;
    }

    @Override
    public String toString() {
        return "DefaultAdEntity [id=" + id + ", title=" + title + ", description=" + description + ", date=" + date
                + ", price=" + price + ", user=" + user + "]";
    }

}