日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 一对一的关系_与休眠一对一关系 - java

發布時間:2025/3/12 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 一对一的关系_与休眠一对一关系 - java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我嘗試在兩個表之間創建一對一的關系。

其中之一是Person:

public class Person implements Serializable {

static final long serialVersionUID = 1L;

private long id;

private String _email;

private String _pass;

public long getId() {

return id;

}

public void setId(long id) {

this.id = id;

}

public String getEmail() {

return _email;

}

public void set_email(String _email) {

this._email = _email;

}

public String getPass() {

return _pass;

}

public void set_pass(String _pass) {

this._pass = _pass;

}

}

第二個是ReqC2dmRegId表:

public class ReqC2dmRegId implements Serializable {

private static final long serialVersionUID = 1L;

Person person;

String C2dmid;

private long id;

public ReqC2dmRegId(){}

public String getC2dmid() {

return C2dmid;

}

public void setC2dmid(String c2dmid) {

C2dmid = c2dmid;

}

public ReqC2dmRegId(Person person, String C2dmid) {

super();

this.person = person;

this.C2dmid = C2dmid;

}

public Person getPerson() {

return person;

}

public void setPerson(Person person) {

this.person = person;

}

public long getId() {

return id;

}

public void setId(long id) {

this.id = id;

}

}

現在,在我的程序中,我總是首先創建Person,并且僅在需要時添加此ReqC2dmRegId。

現在,我想做的就是鏈接這兩個表。我的意思是,當我堅持使用此ReqC2dmRegId(當然,我向ReqC2dmRegId中的人添加了正確的ID)時,我希望我的ReqC2dmRegId用正確的Person ID更新或保存新行。

這些是我的hbm文件:

ReqC2dmRegId.hbm.xml

/p>

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

person

Person.hbm.xml

/p>

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

我究竟做錯了什么?

當我嘗試運行時:

//this should to update or save the object in DB

public void update (Object query){

EntityManager em = emf.createEntityManager();

em.getTransaction().begin();

//em.createNativeQuery(query).executeUpdate();

em.merge(query);

em.flush();

em.getTransaction().commit();

em.close();

}

我得到:

attempted to assign id from null one-to-one property:Person

最后,它應如下所示:

**id email _pass**

2 lala@gmail.com 1234

ReqC2dmRegId

**id REQC2DMREGID**

2 ffgghhjj

更新:

在我放棄嘗試了解它不起作用的方式之后

我更改了我的ReqC2dmRegId.hbm.xml

看起來像這樣(多對一):

而且工作正常,問題是當我嘗試修改ReqC2dmRegId表時

使用我的更新方法,它使用相同的personid創建一個now行

id person_id C2dmid

1 3 asd123

2 3 dfvghj

的方式它不更新右行創建一個新的盡管我使“多對一”屬性為unique =“ true”?

提前致謝

參考方案

您必須清楚這種關系:是一對一還是多對一?

看起來像是多對一的單向關系。

這是帶有注釋的示例:

@Entity

@Table(name="PERSON")

public class Person {

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

private int id;

private String _email;

private String _pass;

//getters and setters

}

和另一類:

@Entity

@Table(name="ReqC2dmRegId")

public class ReqC2dmRegId {

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

private int id;

@ManyToOne

@JoinColumn(name = "PERSON_ID")

private Person person;

//getters and setters

}

頁面加載而不是提交時發生struts驗證 - java

請原諒我;我對Struts有點陌生。我遇到一個問題,即頁面加載而不是我實際提交表單時發生了驗證。我整天都在論壇上搜尋和搜尋,沒有任何運氣。我顯然做錯了一些事情,應該很容易確定,但是我還沒有發現問題所在。這是我的struts.xml的片段:

以下的用途是什么:org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.datasource.DataSourceTransactionManager org.springframework.jndi.JndiObjectFactoryBean

是否可以在Swing GUI上僅針對特定組件或組件集設置用于Synth外觀的文件,而無需為其他任何組件進行更改? java參考方案 是的,有可能。將類型指定為“區域”,將其更改為“名稱”,將值更改為由setName(“ componentName”)給定的特定名稱;應用程序中的方法。添加這個

總結

以上是生活随笔為你收集整理的java 一对一的关系_与休眠一对一关系 - java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。