목록콤퓨타 왕기초 (187)
파게로그
fun main() { val a: Int = 5000 val b: Long = 5000 val c: Long = 5000L println(a) println(b) println(c) } 리터럴은 자동으로 변수의 타입에 맞추어 변환된다. fun main() { val a = 100 val b: Long = a // Error: Type mismatch println(a) println(b) } 하지만 명시된 타입이 자동으로 변환되는 것은 아니다. fun main() { val a = 100 val b: Long = a.toLong() // OK println(a) println(b) } 위와 같이 형 변환 함수를 이용할 수 있다. fun main() { val a: Int = 128 val b: Byte..
Arithmetic Operators +, -, *, /, % 참고로 +의 경우 String의 연결(concatenation)을 위해서도 사용된다. fun main(args : Array) { val hello = "안녕하세요" val hi = "하잉ㅋㅋ" val say = hello + hi println(say) // 안녕하세요하잉ㅋㅋ } 그리고 객체와 같은, user-defined types에 대해서, plus() 함수를 오버로딩하여 + 연산자를 사용할 수 있다. Java와 달리 연산자 오버로딩이 가능하다고 이해할 수 있겠다. 이에 대해서는 Kotlin OOP 포스팅에서 자세히 다룬다. Expression Function name Translates to a + b plus a.plus(b) a -..
Kotlin의 변수 선언 1. 원칙은 선언 시 초기화하는 것으로서, 타입을 반드시 지정해야 하는 것은 아니다. var height = 1.8 var weight = 70 var age: Int = 19 val nationality: String = "Korean" val name = "철수" println(height) println(weight) println(age) println(nationality) println(name) 2. 아래와 같이 선언 후 초기화할 수도 있다. 다만 이 때에는 타입 지정이 필수적이다. fun main(args : Array) { var city: String val population: Int city = "Busan" population = 350 println(ci..
공식 홈페이지 https://kotlinlang.org/ 공식 홈페이지: Docs https://kotlinlang.org/docs/home.html Kotlin Playground https://play.kotlinlang.org/ Programiz: Learn Kotlin Programming https://www.programiz.com/kotlin-programming
Member.java package com.ddoongi.web.entity; import javax.persistence.*; import java.util.Date; @Entity // name 속성을 통해 JPQL에서도 다르게 쓰일 수 있다. public class Member { @Id @GeneratedValue private long id; private String name; private int age; @Column(name = "reg_date") @Temporal(TemporalType.DATE) private Date regDate; @Enumerated(EnumType.STRING) private Tier tier; @ManyToOne(fetch = FetchType.LAZY) @..
🎈 JPA의 다양한 쿼리 방법 ▪ JPQL ▪ JPA Criteria ▪ QueryDSL ▪ Native SQL ▪ JDBC API의 직접 사용, MyBatis, SpringJdbcTemplate과 함께 사용 JPQL(Java Persistence Query Language) "database-independent query language that operates on the logical entity model as opposed to the physcial data model" 가장 단순한 조회 방법 - EntityManager.find() - 객체 그래프 탐색(a.getB().getC()) JPA를 사용하면 엔티티 객체를 중심으로 개발 그러나, 문제는 검색 쿼리... 검색을 할 때에도 테이블이 아..
더보기 Pro JPA 2 in Java EE 8: An In-Depth Guide to Java Persistence APIs CHAPTER 6. Entity Manager 엔티티는 생성된다고 해서 곧바로 저장되지는 않는다. 마찬가지로 엔티티가 GC된다고 해서 곧바로 DB에서 제거되지도 않는다. 이것은 엔티티를 조작해야 하는 어플리케이션이 영속성 라이프사이클을 관리하기 위한 로직이다. JPA는 어플리케이션이 RDB에서 엔티티를 관리하고 검색할 수 있도록 하기 위해서 EntityManager라는 인터페이스를 제공한다. 일견 이는 JPA의 한계로 보인다. persistence runtime이 어떤 객체가 persistent한지 알고 있다면, 어플리케이션이 프로세스에 개입해야만 하는 이유는 무엇일까? Rest..
객체가 연관관계 없이, 테이블에 맞게 모델링되어 있을 때(참조 대신 FK를 그대로 사용) @Entity public class Member { @Id @GeneratedValue private long id; @Column(name = "USERNAME") private String name; private int age; @Column(name = "TEAM_ID") private long teamId; @Enumerated(EnumType.STRING) private Tier tier; // getter and setters... } ////////// @Entity public class Team { @Id @GeneratedValue private long id; private String nam..