PrimaryKeyJoinColumn

ParkingテーブルのIDがEmployeeテーブルのIDに対してFK張っている場合(かつ双方向)を確認
Employeeクラスでこんな宣言。

@OneToOne
@PrimaryKeyJoinColumn
private Employee employee;

Employeeクラスはこんな宣言。

@OneToOne(mappedBy="employee")
private Parking parking;

んで、実行するとこんな感じ。

EntityManagerFactory emf = Persistence.createEntityManagerFactory("default", new java.util.HashMap());
EntityManager em = emf.createEntityManager();
Employee emp = em.find(Employee.class, 1);

Parking parking = emp.getParking();
System.out.println(emp==parking.getEmployee());
em.close();
emf.close();

ちゃんとtrueで出力されましたとさ。(当然ながら、parking.getEmployee()によるSQLは発行されない)

今日のH2コマンド

ALTER TABLE EMPLOYEE DROP CONSTRAINT FK_PARKING
ALTER TABLE EMPLOYEE DROP COLUMN PARKKING_ID