OJB和Hibernate是我用過兩個O/R Mapping框架
備注: OJB網址
OJB和Hibernate的機制基本上是樣
不過 我兩者在一個很大的設計的區別
就是說數據填充上的設計
如
class User
{
private String name;
public void setName(String r_Name)
{
name=r_Name;
}
public String getName()
{
return name;
}
}
OJB用下列描述符
OJB的引擎將數據庫填充到對象時是使用Reflection來設置name這個字段
將對象中的數據保存到數據庫時
Hiberate用下列描述符
Hibernate的引擎將數據庫填充到對象時是使用Reflection來設置name這個屬性
將對象中的數據保存到數據庫時
(我一向把Property看作帶操作的field
想來 設計者分別采用這種方式
原因如下
實體類應該只代表數據庫
比如說 用OJB的話類可能象這樣
class User
{
private String name;
private int state;
public void setName(String r_Name)
{
name=r_Name;
}
public String getName()
{
return name;
}
public void setState(int r_State)
{
state=r_State;
}
public String getState()
{
if(
return
else
return
}
}
用Hibernate的類象這樣
class User
{
private String name;
private int state;
public void setName(String r_Name)
{
name=r_Name;
}
public String getName()
{
return name;
}
public void setState(int r_State)
{
state=r_State;
}
public void getState()
{
return state;
}
public String getStateString()
{
if(
return
else
return
}
}
我總是覺得OJB的看起來更順眼一些
當然我不是說Hibernate不好
不過在一般的中小型程序中
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28845.html