2013-05-01

mysql information_schema 이용하여 sql 문 일부를 생성하자.

일일이 타이핑 하기 귀찮으니...
select concat('r.',COLUMN_NAME,' = i.', COLUMN_NAME,',') FROM information_schema.columns where TABLE_NAME = 'USER';

@OneToOne @MapsId

@Entity
public class User extends BaseModel {
    @OneToOne(optional=false)
    @PrimaryKeyJoinColumn
    private UserExt userExt;
}

@Entity
public class UserExt extends BaseModel {
//    @Id Long id; // 이건 BaseModel에 정의되어 있음. 
    @MapsId
    @OneToOne
    @JoinColumn(name = "id")
    @PrimaryKeyJoinColumn
    @ForeignKey(name="fk_UserExt_User") // 이건 안먹더라.
    private User user;
...
}

그나저나 @OneToOne 매핑은 어렵구나. 1+n 문제 해결이 쉽지 않아.