我可以提供一些用於生成FK030HF9840303的smth intead的算法嗎?我們如何改變在hibernate中生成PK和FK名字的方法?
2
A
回答
3
您需要實現自己的NamingStrategy(org.hibernate.cfg.NamingStrategy)。也許子類化你當前使用的是最簡單的方法(默認情況下,hibernate使用的是DefaultNamingStrategy)。
然後用你的命名策略配置SessionFactory:
SessionFactory sf = new Configuration()
.setNamingStrategy(new YourNamingStrategy())
.addFile(...)
.buildSessionFactory();
或通過在會話工廠春天依賴注入,如果你正在使用它:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
...
<property name="namingStrategy">
<ref bean="namingStrategy" />
</property>
...
0
還,如果你有一個特定的您要使用的非編程命名策略只能更改hbm.xml文件的外鍵映射。這是所有相關設置的屬性等。
1
您無法用批註或命名策略覆蓋任何內容。例如,連接表的FK不能使用命名策略來指定,並且使用註釋會很痛苦。
如果你願意來配置一切以同樣的方式,你可以將你模式導出到數據庫
AnnotationConfiguration configuration = ...;
Iterator<Table> tables = configuration.getTableMappings();
...
Iterator<ForeignKey> keys = table.getForeignKeyIterator();
while (keys.hasNext()) {
ForeignKey key = keys.next();
key.setName(...);
}
...
SchemaExport schemaExport = new SchemaExport(configuration);
schemaExport.setHaltOnError(true);
schemaExport.execute(false, true, false, true);
List exceptions = schemaExport.getExceptions();
...
之前修改註釋配置
相關問題
- 1. 休眠。我們如何使用註釋來設置PK/FK的名稱?
- 2. Spring + Hibernate:如何擁有一個可配置的PK生成器?
- 3. 如何創建PK/FK關係字符串和uniqueidentifier?
- 4. FK自我參照生成
- 5. Django - 保存一個新的table1.PK和table2.PK和table2.FK
- 6. CodeFirst EF 4.1繼承 - 重命名PK/FK
- 7. Hibernate何時從FK創建一個新條目到非PK列?
- 8. DB設計FK&PK
- 9. 如何在AS3中生成變量名?
- 10. 我們如何更改一個magento模塊的方法名稱?
- 11. Hibernate映射兩個表相同的PK值(NO FK COL)
- 12. 重命名錶SQL Server,通過PK和FK的級聯該更改
- 13. 跨行的fk pk關係
- 14. 數字生成器方法的名稱
- 15. 如何自動爲我們在eclipse rcp中編寫的方法生成註釋?
- 16. 我如何在調用Spark SaveAsTextFile方法時生成文件名
- 17. 在Rails上使用字符串作爲PK和FK 4
- 18. 如何生成方法簽名?
- 19. Java如何爲方法生成簽名?
- 20. Oracle ID,PK和FK數據庫模式
- 21. SQL Server PK和FK始終等於
- 22. 我們如何爲postman生成動態電子郵件字段和用戶名
- 23. 在宏中生成方法名稱
- 24. 如何在hibernate中按需生成GUID?
- 25. 使用PK的FK在JPA /休眠
- 26. 如何生成Hibernate字段註釋?
- 27. DB Fk/Pk密鑰性能
- 28. 正確FK PK關係
- 29. 爲數據和獨特的FK名稱生成SQL腳本
- 30. 當nhibernate生成一個模式時,除PK和FK之外的其他索引如何?