私はHibernate 3.6.8を使用します。Hibernate注釈、@ JOincolumnの使用方法は外部キーを参照していますか?
CREATE TABLE UTILIZATION (
ID BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY
...
FK_WORKCATEGORY SMALLINT,
CONSTRAINT PK_UTILIZATION PRIMARY KEY (ID));
CREATE TABLE DB2ADMIN.WORKCATEGORY(
ID SMALLINT NOT NULL,
DESCRIPTION VARCHAR(50),
CONSTRAINT PK_WORKCATEGORY PRIMARY KEY(ID));
ALTER TABLE UTILIZATION ADD FOREIGN KEY (FK_WORKCATEGORY) REFERENCES WORKCATEGORY(ID);
私のPOJO:ここに私のテーブルである
@Entity
@Proxy(proxyClass=IWorkCategory.class)
@Table(name="WORKCATEGORY")
public class WorkCategory extends BoBase implements Serializable, IWorkCategory{
@Id
private Integer Id;
private String description;
@Override
public Serializable getId() {
return Id;
}
@Override
public void setId(Serializable id) {
Id = (Integer)id;
}
@Override
public String getDescription() {
return description;
}
@Override
public void setDescription(String description) {
this.description = description;
}
}
@Entity
@Proxy(proxyClass=IUtilization.class)
@Table(name="UTILIZATION")
public class Utilization extends BoBase implements Serializable, IUtilization{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long Id;
private WorkCategory workCategory;
@ManyToOne(fetch=FetchType.LAZY, targetEntity=WorkCategory.class)
@JoinColumn(name="FK_WORKCATEGORY", updatable=false, insertable=false)
public WorkCategory getWorkCategory() {
return workCategory;
}
public void setWorkCategory(WorkCategory workCategory) {
this.workCategory = workCategory;
}
}
私は、外部キーFK_WORKCATEGORY
によってテーブルWorkCategory
を参照してください、しかしUtilization
POJOでテーブルの使用状況を見ることができるように名前がworkCategory
のこのプロパティを宣言します。 Utilization bo = UtilizationDAO.get(new Long(123))
の単体テストを実行すると、SQLが列UTILIZATIO0_で生成されます。 ワークショップ、FK_WORKCATEGORY
の代わりに。 私はUtilization
POJOで@JoinColumn(名前は=「FK_WORKCATEGORY」を入れているが、それは助けにはならない。 私はこのエラーを修正するために助けてください。事前に感謝。
あなたは –
ええ、私は知っている;-) –
こんにちはJB Nizet素晴らしいです、あなたは私を助けてくれますか?http://stackoverflow.com/questions/18895585/hibernate-version-annotation-and-object-references-an-unsaved-transient-instanc –