본문 바로가기
프로그램/스프링

엔티티 생성 및 기본 테스트

by cbwstar 2021. 6. 22.
728x90
반응형
java
닫기
package com.example.chat04; public enum RoleType { ​​​​ADMIN,USER }
java
닫기
package com.example.chat04; import javax.persistence.*; import java.util.Date; @Entity @Table(name="MEMBER", uniqueConstraints = {@UniqueConstraint(name = "NAME_AGE_UNIQUE",columnNames = {"NAME","AGE"})}) public class Member { ​​​​@Id ​​​​@Column(name = "ID") ​​​​private String id; ​​​​@Column(name = "NAME", nullable = false, length = 10) ​​​​private String username; ​​​​private Integer age; ​​​​@Enumerated(EnumType.STRING) ​​​​private RoleType roleType; ​​​​@Temporal(TemporalType.TIMESTAMP) ​​​​private Date createDate; ​​​​@Temporal(TemporalType.TIMESTAMP) ​​​​private Date lastModifiedDate; ​​​​@Lob ​​​​private String description; ​​​​@Transient ​​​​private String temp; ​​​​public String getId() { ​​​​​​​​return id; ​​​​} ​​​​public void setId(String id) { ​​​​​​​​this.id = id; ​​​​} ​​​​public String getUsername() { ​​​​​​​​return username; ​​​​} ​​​​public void setUsername(String username) { ​​​​​​​​this.username = username; ​​​​} ​​​​public Integer getAge() { ​​​​​​​​return age; ​​​​} ​​​​public void setAge(Integer age) { ​​​​​​​​this.age = age; ​​​​} ​​​​public RoleType getRoleType() { ​​​​​​​​return roleType; ​​​​} ​​​​public void setRoleType(RoleType roleType) { ​​​​​​​​this.roleType = roleType; ​​​​} ​​​​public Date getCreateDate() { ​​​​​​​​return createDate; ​​​​} ​​​​public void setCreateDate(Date createDate) { ​​​​​​​​this.createDate = createDate; ​​​​} ​​​​public Date getLastModifiedDate() { ​​​​​​​​return lastModifiedDate; ​​​​} ​​​​public void setLastModifiedDate(Date lastModifiedDate) { ​​​​​​​​this.lastModifiedDate = lastModifiedDate; ​​​​} ​​​​public String getDescription() { ​​​​​​​​return description; ​​​​} ​​​​public void setDescription(String description) { ​​​​​​​​this.description = description; ​​​​} ​​​​public String getTemp() { ​​​​​​​​return temp; ​​​​} ​​​​public void setTemp(String temp) { ​​​​​​​​this.temp = temp; ​​​​} }

 

java
닫기
package com.example.chat04; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Persistence; import java.util.List; public class Chat04Application { ​​​​public static void main(String[] args) { ​​​​​​​​//엔티티 매니저 팩토리 생성 ​​​​​​​​EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); ​​​​​​​​EntityManager em = emf.createEntityManager(); //엔티티 매니저 생성 ​​​​​​​​EntityTransaction tx = em.getTransaction(); //트랜잭션 기능 획득 ​​​​​​​​try { ​​​​​​​​​​​​tx.begin(); //트랜잭션 시작 ​​​​​​​​​​​​logic(em); //비즈니스 로직 ​​​​​​​​​​​​tx.commit(); //트랜잭션 커밋 ​​​​​​​​} catch (Exception e) { ​​​​​​​​​​​​e.printStackTrace(); ​​​​​​​​​​​​tx.rollback(); //트랜잭션 롤백 ​​​​​​​​} finally { ​​​​​​​​​​​​em.close(); //엔티티 매니저 종료 ​​​​​​​​​​​​emf.close(); //엔티티 매니저 팩토리 종료 ​​​​​​​​} ​​​​} ​​​​private static void logic(EntityManager em) { ​​​​​​​​String id = "id1"; ​​​​​​​​Member member = new Member(); ​​​​​​​​member.setId(id); ​​​​​​​​member.setUsername("지한"); ​​​​​​​​member.setAge(2); ​​​​​​​​//등록 ​​​​​​​​em.persist(member); ​​​​​​​​//수정 ​​​​​​​​member.setAge(20); ​​​​​​​​//한건 조회 ​​​​​​​​Member findMember = em.find(Member.class,id); ​​​​​​​​System.out.println("findMember =" + findMember.getUsername() + ",age=" + findMember.getAge()); ​​​​​​​​//목록 조회 ​​​​​​​​List<Member> members = em.createQuery("select m from Member m",Member.class).getResultList(); ​​​​​​​​System.out.println("members.size = " + members.size()); ​​​​​​​​//삭제 ​​​​​​​​em.remove(member); ​​​​} }

 

728x90
반응형

'프로그램 > 스프링' 카테고리의 다른 글

모델2 -연관관계  (0) 2021.06.22
모델1-기본테이블 생성  (0) 2021.06.22
pom.xml  (0) 2021.06.22
persistence.xml  (0) 2021.06.22
Spring Data JPA 사용 및 설정  (0) 2021.06.01


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."