こんにちは私は現在Hibernateを学んでおり、私はアドレスから自宅の住所と事務所の住所に列名を変更しようとしているところで問題に固執しています。私はすべてのオフィスアドレスコードをコメントアウトしましたが、データベースの列はまだ "CITY_NAME"、 "STREET_NAME"などです。JavaのHibernateのattributeoverrideアノテーションが機能していませんか?
ありがとう、ありがとうございます。
Address.java
package org.zm.javabrain.dto;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class Address {
@Column(name="STREET_NAME")
private String stree;
@Column(name="CITY_NAME")
private String city;
@Column(name="STATE_NAME")
private String state;
@Column(name="ZIP_NAME")
private String zip;
public String getStree() {
return stree;
}
public void setStree(String stree) {
this.stree = stree;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getZip() {
return zip;
}
public void setZip(String zip) {
this.zip = zip;
}
}
これはこれは、休止状態Session
がAttributeOverride
機能をサポートしているか、いない場合、私はあなたを伝えることはできませんドライバクラス
package org.zm.hibernate;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.zm.javabrain.dto.Address;
import org.zm.javabrain.dto.UserDetails;
public class HibernateTest {
public static void main(String[] args) {
UserDetails user = new UserDetails();
Address addr = new Address();
addr.setCity("chicago");
addr.setState("IL");
addr.setStree("Michigen Ave");
addr.setZip("55414");
Address officeAddr = new Address();
officeAddr.setCity("minneapolis");
officeAddr.setState("Washington Ave");
officeAddr.setState("MN");
officeAddr.setZip("55455");
user.setUsername("11111");
user.setHomeAddress(addr);
// user.setOfficeAddress(officeAddr);
user.setJoinedDate(new Date());
user.setDescription("this is a description");
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
session.close();
}
}
どのようなhbm2ddl値を使用しますか? –
@AurelienEcotoここは<プロパティ名= "hibernate.hbm2ddl.auto">作成 - ドロップ – EricMA
このプロパティはどのファイルに定義されていますか? '私はすべてのオフィスアドレスコードをコメントアウトしましたが、データベースの列...':コードを実行する前に古いテーブルを削除しましたか? – ujulu