spring中 hibernate實體類註解
阿新 • • 發佈:2019-01-23
@Autowired宣告在屬性上,表示這個屬性需要注入
然後在你的applicationContext.xml中加入以下配製
<context:component-scan base-package="your.root.backage"/>
這表示spring將會在your.root.backage包下查詢聲明瞭@Component的類,並註冊為spring bean,同時還會檢查bean中聲明瞭@Autowired的屬性,並自動注入該屬性屬性值.
@Entity
//繼承策略。另一個類繼承本類,那麼本類裡的屬性應用到另一個類中
@Inheritance
(strategy = InheritanceType.JOINED )
@Table
(name=
"INFOM_TESTRESULT"
)
public
class
TestResult
extends
IdEntity{}
1
、
@Entity
(name=
"EntityName"
)
必須,name為可選,對應資料庫中一的個表
2
、
@Table
(name=
""
,catalog=
""
,schema=
""
)
可選,通常和
@Entity
配合使用,只能標註在實體的
class
定義處,表示實體對應的資料庫表的資訊
name:可選,表示表的名稱.預設地,表名和實體名稱一致,只有在不一致的情況下才需要指定表名
catalog:可選,表示Catalog名稱,預設為Catalog(
""
).
schema:可選,表示Schema名稱,預設為Schema(
""
).
3
、
@id
必須
@id
定義了對映到資料庫表的主鍵的屬性,一個實體只能有一個屬性被對映為主鍵.置於getXxxx()前.
4
、
@GeneratedValue
(strategy=GenerationType,generator=
""
)
可選
strategy:表示主鍵生成策略,有AUTO,INDENTITY,SEQUENCE 和 TABLE
4
種,分別表示讓ORM框架自動選擇,
根據資料庫的Identity欄位生成,根據資料庫表的Sequence欄位生成,以有根據一個額外的表生成主鍵,預設為AUTO
generator:表示主鍵生成器的名稱,這個屬性通常和ORM框架相關,例如,Hibernate可以指定uuid等主鍵生成方式.
示例:
@Id
@GeneratedValues
(strategy=StrategyType.SEQUENCE)
public
int
getPk() {
return
pk;
}
5
、
@Basic
(fetch=FetchType,optional=
true
)