Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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 展示你关注Spring JPA的人的广告_Java_Spring_Jpa - Fatal编程技术网

Java 展示你关注Spring JPA的人的广告

Java 展示你关注Spring JPA的人的广告,java,spring,jpa,Java,Spring,Jpa,我有一个用户,一个广告,和一个表格,显示谁跟随谁 我需要做的是,我需要实现一个按钮,点击(并登录)regsiters 根据下表,你需要能够显示你所关注的人的广告(目前只有一个所有广告的视图,现在我需要制作一个只显示一个的视图) 已由我跟踪的用户发布的) 你知道我该怎么做吗 肾上腺素的: @Repository public interface AdRepository extends JpaRepository<DefaultAdEntity, Integer> { Sli

我有一个用户,一个广告,和一个表格,显示谁跟随谁

我需要做的是,我需要实现一个按钮,点击(并登录)regsiters 根据下表,你需要能够显示你所关注的人的广告(目前只有一个所有广告的视图,现在我需要制作一个只显示一个的视图) 已由我跟踪的用户发布的)

你知道我该怎么做吗

肾上腺素的:

@Repository
public interface AdRepository extends JpaRepository<DefaultAdEntity, Integer> {

    Slice<DefaultAdEntity> findAllByOrderByDateDesc(Pageable pageRequest);

    Optional<DefaultAdEntity> findByTitle(String title);
}
@Repository
public interface UserRepository extends JpaRepository<DefaultUserEntity, Integer> {

    Optional<DefaultUserEntity> findByLogin(String email);

}
DefautUserEntity:

@Entity(name = "DefaultUserEntity")
@Table(name = "user")
public class DefaultUserEntity implements UserEntity {

    /**
     * Serialization ID.
     */
    private static final long serialVersionUID = 1010299073916686941L;

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

    /**
     * Login del usuario (email)
     */
    @Column(name = "login", nullable = false, unique = true)
    private String login;

    /**
     * Login del usuario (email)
     */
    @Column(name = "password", nullable = false, unique = false)
    private String password;

    /**
     * Nombre Usuario
     */
    @Column(name = "name", nullable = false, unique = false)
    private String name;

    /**
     * Primer apellido
     */
    @Column(name = "firstName", nullable = false, unique = false)
    private String firstName;

    /**
     * Segundo apellido
     */
    @Column(name = "lastName", nullable = false, unique = false)
    private String lastName;

    /**
     * Ciudad
     */
    @Column(name = "city", nullable = false, unique = false)
    private String city;

    public DefaultUserEntity() {
        super();
    }
public interface UserService {
    
    public DefaultUserEntity login(String email, String password)
            throws UnregisterEmailException, IncorrectLoginException;

    public Iterable<DefaultUserEntity> getAllEntities();

    public Iterable<DefaultUserEntity> getEntities(final Pageable page);

    public UserEntity add(final DefaultUserEntity entity) throws AlreadyRegistedLoginException;

    public UserEntity findById(final Integer identifier);

    public void remove(final DefaultUserEntity entity);
}
@Autowired
    public DefaultAdService(final AdRepository repository, UserRepository repository_, PictureRepository repository3) {
        super();
        userRepository = checkNotNull(repository_, "Received a null pointer as repository");
        adRepository = checkNotNull(repository, "Received a null pointer as repository");
        pictureRepository = checkNotNull(repository3, "Received a null pointer as repository");
    }

    @Override
    public AdEntity add(DefaultAdEntity entity, Integer userId) throws DontLoggedException, RepeatedTitleException {

        if (userId == null) {
            throw new DontLoggedException();
        }

        Optional<DefaultAdEntity> adEntityRepository = adRepository.findByTitle(entity.getTitle());

        if (!adEntityRepository.isEmpty()) {
            throw new RepeatedTitleException(entity.getTitle());
        }

        DefaultUserEntity user = userRepository.findById(userId).get();
        entity.setUser(user);
        entity.setDate(LocalDateTime.now());

        DefaultAdEntity adEntity = adRepository.save(entity);

        return adEntity;
    }

    @Override
    public final DefaultAdEntity findById(final Integer identifier) {
        final DefaultAdEntity adEntity;

        checkNotNull(identifier, "Received a null pointer as identifier");

        if (adRepository.existsById(identifier)) {
            adEntity = adRepository.getOne(identifier);
        } else {
            adEntity = new DefaultAdEntity();
        }

        return adEntity;
    }

    @Override
    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);
        }

        return new Block<>(ListAdImage, ads.hasNext());
    };

}
@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();
    }
... getters, setters.....
@Entity(name = "DefaultUserEntity")
@Table(name = "user")
public class DefaultUserEntity implements UserEntity {

    /**
     * Serialization ID.
     */
    private static final long serialVersionUID = 1010299073916686941L;

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

    /**
     * Login del usuario (email)
     */
    @Column(name = "login", nullable = false, unique = true)
    private String login;

    /**
     * Login del usuario (email)
     */
    @Column(name = "password", nullable = false, unique = false)
    private String password;

    /**
     * Nombre Usuario
     */
    @Column(name = "name", nullable = false, unique = false)
    private String name;

    /**
     * Primer apellido
     */
    @Column(name = "firstName", nullable = false, unique = false)
    private String firstName;

    /**
     * Segundo apellido
     */
    @Column(name = "lastName", nullable = false, unique = false)
    private String lastName;

    /**
     * Ciudad
     */
    @Column(name = "city", nullable = false, unique = false)
    private String city;

    public DefaultUserEntity() {
        super();
    }