목록2024/02 (4)
그저 내가 되었고
class A { public string x() { return "x"; } } class B extends A { public string y() { return "y"; } } public class whatIsPolymorphism { public static void main(String[] args) { A obj = new B(); obj.x(); obj.y(); } } B라는 클래스를 인스턴스화할 때(new) 그 인스턴스를 담는 변수의(obj) //결국 인스턴스 이름이 obj임 데이터타입(A)은 그 클래스(B)가 될 수도 있고 그 클래스의 부모클래스(A)가 될 수도 있다. 이러면 obj는 A인양 행세하며 동작함. 그러므로 부모클래스 A의 메소드 x()는 실행 가능하지만(obj.x(); =>..
배포 환경에서 DB가 붙지 않아 애를 먹었다. 결론부터 말하면 DB서버의 방화벽 규칙 때문이었다. IP 허용이 필요하다. 에러 로그 2024-02-09T01:23:15.719Z ERROR 3827 --- [nio-8080-exec-3] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not rece..
과정 개략))1) Azure에서 배포할 백엔드 서버 구축하기(Azure 리소스 그룹 생성, Azure Virtual Machines 구축)2) Azure에서 배포할 DB 서버 구축하기(Azure Database for MySQL 구축)3) Spring Boot(Gradle-groovy)로 백엔드 서버 코딩하기4) 2)에서 구축한 DB 서버를 백엔드 코드로 연결 후 서버 구동해서 DB 잘 붙는지 확인하기5) 코딩한 백엔드 서버를 깃에 올리기6) 1)에서 구축한 Azure Virtual Machines에 깃에 올려둔 코드 클론해서 배포하기7) 배포한 ip로 데이터 보내보며 DB까지 잘 붙는지 확인하기 1-1) Azure에서 배포할 백엔드 서버 구축하기(Azure 리소스 그룹 생성) 1-2) Azure..
결론부터 말하자면 그대로는 안됩니다. 삽질 진짜 많이함... 그럼? 캐스팅(CONVERT 쓸거임)해서 할 수 있어요. 예를들어서, DB 짤때 '학교 코드(college)'를 'Integer'로 해서 짰다고 해봅시다. 이때 학교코드가 123이면 1만 검색해도 123이 나오게 하고 싶잖아요? 이게 like만 가지고는 안됩니다. 요컨대 1 List findAllByCollegeIdLike(Integer college); cs 이렇게는 안된다는 말임. 왜? like operator는 Integer같은 number형에는 안되거든...... 문자만 됩니다. 그럼 어떡하라고. 아래와 같이 날쿼리를 써야됩니다. 1 2 @Query("SELECT college FROM College college WHERE CONVER..