最終プロパティ/クイックキャンパスチャレンジ08日目



  • Domain Entity
    EntityでPK値を指定する必要があります(@Idとして指定)
    GenerationType(Streatgy)

  • Table:ID値を管理するために独立したテーブルを作成し、データベース・タイプを考慮せずにそのテーブルからID値を抽出します.
    -name():Userなどのテーブル名を指定できますが...自動指定のため、別途指定する必要はありません.
    - catalog():
    - schema():
    -uniqueConstants():制約
    - indexes():

  • ≪シーケンス|Sequence|emdw≫:シーケンスを提供するoracleなど.

  • Identity : Most Common Setting Value.

  • Auto: Default Value. 各DBに適した値が自動的に渡されます.DB依存性なしで符号化できる利点がある.

  • Column
    -nullable=falseの場合、カラムはnot null処理されます.
    -updatable=falseの場合、宣言されたカラムは更新をブロックします.
    -insertable=falseの場合、宣言されたカラムはinsert実装をブロックします.

  • トレーニング:データベースに反映されずに通常のオブジェクトとしてのみ使用したい場合は、宣言(連続処理には含まれません)
  • =========================================
    @Test
    void InsertAndUpdateTest(){
     User user = new User();
     
     user.setName(”martin”); 
     user.setEmail(”[email protected]”);
    
     userRepository.save(user);
    
     User user2 = userRepository.findById(1L).orElseThrow(RuntimeException::new);
      //user2 에 user에서 저장한 martin (1번 id를 가진 컬럼)을 가져와 넣어준다.
     user2.setName(”marrrrtine”);
     //들어와 있는 user2의 값에 이름을 “marttttine”으로 수정해준다. (즉 신규데이터 삽입이 아닌 수정된 데이터가 들어가게 된다)
    
     userRepository.save(user2);
     }
    }
    <hr>
    Result
     Hibernate:
    1번/ insert 실행
    insert
    into
     user
      (created_at, email, name, updated_at, id)
     values
      (?, ?, ?, ?, ?)
    
    2번/ select 실행
    
    select
     user.id, user.created_at, user.email, user.name, user.updated_at
    from
     user
    where
     user_id = ?
    
    3번/ update 실행
    
    update
     user
    set
     created_at = ? , email = ?, name = ?, updated_at = ?
    where
     id = ?
    =========================================

    #クイックキャンパス#パカムチャレンジ#サラリーマン姜#職場人柄マシン脚#クイックキャンパス後期#使い捨て終了Java/spring Web開発Master超差パッケージオンライン
    このレポートは、迅速なキャンパス税還付の課題に参加することを目的としています.
    https://bit.ly/3FVdhDa