CREATE TABLE TBL_USER (
UUID NUMBER(10) NOT NULL,
NAME VARCHAR2(100),
AGE NUMBER(10) NOT NULL,
PROVINCE VARCHAR2(100),
CITY VARCHAR2(100),
STREET VARCHAR2(100),
CONSTRAINT PK_USER PRIMARY KEY(UUID));
单向
定义:不知道另一端什么情况,获取一端另一端自动获取,因为单向,你不知道另一侧是什么。
如 class A{ B b;}
class B{ }
只能从A导航到B,不能从B导航到A
关系维护:另一端维护,如B维护
双向
定义:知道另一端(两个单向),从一端获取另一端,从另一端也能获取一端
如 class A{ B b;}
class B{ A a;}
只能从A导航到B,也能从B导航到A
关系维护:两端,对关联的一侧所作的改变,会立即影响到另一侧
UserModel user = new UserModel();
user.setName("昵称");
UserGeneralModel userGeneral = new UserGeneralModel();
userGeneral.setRealname("真实姓名");
userGeneral.setUser(user);
user.setUserGeneral(userGeneral);
FarmModel farm = new FarmModel();
farm.setName("farm1");
farm.setUser(user);
user.getFarms().add(farm);
Hibernate: select usermodel0_.uuid as col_0_0_ from TBL_USER usermodel0_
Hibernate: select … from TBL_USER usermodel0_ where usermodel0_.uuid=?
Hibernate: select count(uuid) from TBL_FARM where fk_user_id =?
//或
Hibernate: select … from TBL_USER usermodel0_
Hibernate: select count(uuid) from TBL_FARM where fk_user_id =?