Husband.java
package
com.one2one.bean;
import
javax.persistence.CascadeType;
import
javax.persistence.Column;
import
javax.persistence.Entity;
import
javax.persistence.GeneratedValue;
import
javax.persistence.GenerationType;
import
javax.persistence.Id;
import
javax.persistence.OneToOne;
import
javax.persistence.Table; @Entity @Table(name
=
"
husband
"
,catalog
=
"
Hibernate_One2One_fk
"
)
public
class
Husband {
private
int
id;
private
String name;
private
Wife wife; @Id @Column(name
=
"
id
"
) @GeneratedValue(strategy
=
GenerationType.AUTO)
public
int
getId() {
return
id; }
public
void
setId(
int
id) {
this
.id
=
id; } @Column(name
=
"
name
"
)
public
String getName() {
return
name; }
public
void
setName(String name) {
this
.name
=
name; } @OneToOne(cascade
=
CascadeType.ALL,mappedBy
=
"
husband
"
)
public
Wife getWife() {
return
wife; }
public
void
setWife(Wife wife) {
this
.wife
=
wife; } }
Wife.java
package
com.one2one.bean;
import
javax.persistence.CascadeType;
import
javax.persistence.Column;
import
javax.persistence.Entity;
import
javax.persistence.GeneratedValue;
import
javax.persistence.GenerationType;
import
javax.persistence.Id;
import
javax.persistence.JoinColumn;
import
javax.persistence.OneToOne;
import
javax.persistence.Table; @Entity @Table(name
=
"
wife
"
,catalog
=
"
Hibernate_One2One_fk
"
)
public
class
Wife {
private
int
id;
private
String name;
private
Husband husband; @Id @Column(name
=
"
id
"
) @GeneratedValue(strategy
=
GenerationType.AUTO)
public
int
getId() {
return
id; }
public
void
setId(
int
id) {
this
.id
=
id; } @Column(name
=
"
name
"
)
public
String getName() {
return
name; }
public
void
setName(String name) {
this
.name
=
name; } @OneToOne(cascade
=
CascadeType.ALL) @JoinColumn(name
=
"
husband_id
"
)
public
Husband getHusband() {
return
husband; }
public
void
setHusband(Husband husband) {
this
.husband
=
husband; } }
导出的sql
create
table
Hibernate_One2One_fk.husband ( id
integer
not
null
auto_increment, name
varchar
(
255
),
primary
key
(id) )
create
table
Hibernate_One2One_fk.wife ( id
integer
not
null
auto_increment, name
varchar
(
255
), husband_id
integer
,
primary
key
(id) )
alter
table
Hibernate_One2One_fk.wife
add
index
FK37AF119039AEDD (husband_id),
add
constraint
FK37AF119039AEDD
foreign
key
(husband_id)
references
Hibernate_One2One_fk.husband (id)
测试代码
@Test
public
void
save(){ Session session
=
HibernateSessionFactory.getSession(); Transaction transaction
=
session.beginTransaction();
try
{ transaction.begin(); Husband husband
=
new
Husband(); husband.setName(
"
张三
"
); session.save(husband); Wife wife
=
new
Wife(); wife.setName(
"
如花
"
); wife.setHusband(husband); session.save(wife); transaction.commit(); }
catch
(HibernateException e) { e.printStackTrace(); } } @Test
public
void
select(){ Session session
=
HibernateSessionFactory.getSession(); Husband husband
=
(Husband) session.get(Husband.
class
,
1
); System.out.println(husband.getName()); System.out.println(husband.getWife().getName()); }
转载于:https://www.cnblogs.com/J2EEPLUS/archive/2011/11/14/2487916.html
相关资源:JAVA上百实例源码以及开源项目
转载请注明原文地址: https://mac.8miu.com/read-20961.html