JPAテーブルの作成
2073 ワード
オブジェクトをテーブルにマッピングするテクノロジー
Userクラス
@Data
@NoArgsConstructor // bean 생성자
@AllArgsConstructor
@Builder // 빌더 패턴
@Entity // User 클래가 자동으로 MySql에 테이블 생성 맨밑에 달아주는게 좋다
public class User {
@Id//Primary key 선언
@GeneratedValue(strategy = GenerationType.IDENTITY)// jpa 넘버링전략이 아닌 프로젝트에서 연결된 DB의 넘버링 전략을 따라간다.
private Long id; //시퀀스 , auto_increment
@Column(nullable = false, length = 30) // column의 조건
private String username;
@Column(nullable = false, length = 100)
private String password;
@Column(nullable = false, length = 50)
private String email;
@ColumnDefault("'user'")// 컬럼 기본값설정 "'name'"
private String role; // Enum을 쓰는게 좋다 admin, user, manager
@CreationTimestamp // 시간 자동입력
private Timestamp crateDate;
}
yamlファイル設定で実行するたびに、テープ作成後にupdateに変更 datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://database-2.cthnhpqt6mil.ap-northeast-2.rds.amazonaws.com:3306/test_data?serverTimezone=Asia/Seoul
username: root
password: cke5507k
jpa:
open-in-view: true
hibernate:
ddl-auto: create # 실행할때 마다 테이블을 새로 만들겠다는 뜻! 최초에만 create => 후엔 update
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
use-new-id-generator-mappings: false #AUTO_INCREAMENT #FALSE => jpa가 제공하는 기본넘버링 사용x
show-sql: true
properties:
hibernate.format_sql: true
jackson:
serialization:
fail-on-empty-beans: false
プロジェクト実行時にconsoleでテーブルを作成するメッセージHibernate:
create table User (
id bigint not null auto_increment,
crateDate datetime(6),
email varchar(50) not null,
password varchar(100) not null,
role varchar(255) default 'user',
username varchar(30) not null,
primary key (id)
) engine=InnoDB
Reference
この問題について(JPAテーブルの作成), 我々は、より多くの情報をここで見つけました https://velog.io/@dbfudgudals/JPA-테이블-생성テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol