Archive

文章標籤 ‘hibernate’

使用 Hibernate Tools Reverse-Engineering 在SQL Server上

2008年7月31日 尚無評論

最近開始學習Hibernate ,因為開發的模式都是先規劃資料庫 所以希望能從資料庫中的Schema轉成Hibernate 的VO
找了一下工具,在Hibernate官網的Hibernate Tools 看來是最合用的

下載安裝後,在測試期使用Mysql 都一切正常,不過轉換到MSSQL 時發生了 以下的問題

org.hibernate.cfg.JDBCBinderException: Duplicate class name CheckConstraints' generated for 'org.hibernate.mapping.Table(db.sys.check_constraints)'. Same name where generated for 'org.hibernate.mapping.Table(db.sys.check_constraints)'

看來是因為MSSQL 資料庫都會內含一些SYS(系統用)的schema,上網找了一下
在官網上有說明 可以有參數檔控制要反向的資訊,詳細如下 :

http://www.hibernate.org/hib_docs/tools/reference/en/html/reverseengineering.html

範例中是oracle ,看來oracle 及sqlserver 都要有額外的參數檔
目前先建了hibernate.reveng.xml 如下,設定了 下面這個參數就可以成功產生出來

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE hibernate-reverse-engineering
  SYSTEM “
http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd” >

<hibernate-reverse-engineering>
<schema-selection match-schema=”dbo”/>
</hibernate-reverse-engineering>

因為在try 所以權限是db owner , 我想大概大多人使用的帳號都是db owner吧!!

Categories: JAVA Tags: ,