sql >> データベース >  >> RDS >> PostgreSQL

@JoinColumnとは何ですか?Hibernateでの使用方法

    結合テーブルを介した単方向の関連付け

    @Entity
    class Patient {
    
        @OneToMany
        private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();
    
    }
    
    @Entity
    class Vehicle {
    
    }
    

    結合テーブルを介した双方向の関連付け

    @Entity
    class Patient {
    
        @OneToMany
        private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();
    
    }
    
    @Entity
    class Vehicle {
    
        @ManyToOne(fetch = FetchType.LAZY)
        private Patient patient;
    
    }
    

    外部キーを介した一方向の関連付け

    @Entity
    class Patient {
    
        @OneToMany
        @JoinColumn
        private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();
    
    }
    
    @Entity
    class Vehicle {
    
    }
    

    外部キーを介した双方向の関連付け

    @Entity
    class Patient {
    
        @OneToMany(mappedBy = "patient")
        private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();
    
    }
    
    @Entity
    class Vehicle {
    
        @ManyToOne(fetch = FetchType.LAZY)
        private Patient patient;
    
    }
    

    外部キーと外部列名の指定による双方向の関連付け

    @Entity
    class Patient {
    
        @OneToMany(mappedBy = "patient")
        private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();
    
    }
    
    @Entity
    class Vehicle {
    
        @ManyToOne(fetch = FetchType.LAZY)
        @JoinColumn(name="patient_id")
        private Patient patient;
    
    }
    

    これは、@JoinColumnを使用するための基本的な開始点です。 。

    外部キー(patient_id Vehicle table)は、@JoinColumn(nullable = false)を使用できる患者テーブルに実際にマッピングされます。

    @Entity
    class Vehicle {
    
        @ManyToOne(fetch = FetchType.LAZY)
        @JoinColumn(name="patient_id", nullable = false)
        private Patient patient
    
    }
    


    1. DBAが担当する9つの重要なタスク

    2. OracleのTZ_OFFSET()関数

    3. MySQLENUMタイプと結合テーブル

    4. SQLSELECTINTOステートメント