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 |
댓글