레이블이 Java error인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Java error인 게시물을 표시합니다. 모든 게시물 표시

2023. 1. 18.

Apache Commons Net FTP 연결이 안될 때

연결을 시도해도 파일의 용량이 0이 되는 현상

사용법이 친절하게 설명된 게 아니라서 찾는데 애 좀 먹었었다. 초기에 모드에 대한 부분을 꼭 작성해야 한다.

// Use passive mode as default because most of us are
// behind firewalls these days.
if (localActive) {
    ftp.enterLocalActiveMode();
} else {
    ftp.enterLocalPassiveMode();
}
출처: https://commons.apache.org/proper/commons-net/
https://commons.apache.org/proper/commons-net/examples/ftp/FTPClientExample.java

import org.apache.commons.net.ftp.FTPClient;

public class FTP_Connector {
  public static void main(String args[]) throws IOException {
    FTPClient ftp_client = new FTPClient();
    ftp_client.enterLocalPassiveMode();
  }
}

2021. 4. 13.

mappedBy reference an unknown target entity property:

스프링 부트 + JPA (@OneToMany, @ManyToMany) 작업 도중 만나게 된 에러 내용

Caused by: org.hibernate.AnnotationException: 
mappedBy reference an unknown target entity property:

이 에러의 주된 원인은 연관관계를 맺고 있는 변수를 잘못 적거나 착각하거나 오타를 냈을 때 일어난다.

@Entity
public class Member {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    
    @ManyToMany
    @JoinTable(name = "MEMBER_PRODUCT",
    	joinColumns = @JoinColumn(name = "MEMBER_ID"),
        inversJoinColumns = @JoinColumn(name = "PRODUCT_ID"))
    private List<Product> products = new Arraylist<Product>();
}
@Entity
public class Product {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @ManyToMany(mappedBy = "products")
    private List<Member> members;
}

List의 변수명 'products'와 mappedBy 텍스트가 정확하게 일치해야 한다. 자동완성으로 'productList'란 변수명을 만들고 mappedBy에는 'product'를 작성하면 타겟 엔티티를 못찾겠다는 에러메세지가 출력된다.