- 在用户下面一段代码生成数据库时,记得不要将column值取成数据库的关键字,否则会出现关键字无效、表或视图不存在等命令行输出:
/** * * @author WalkingDog * */ public class CreateTable { public static void main(String[] args) { SchemaExport export = new SchemaExport(new Configuration().configure()); export.create(true, true);//当第二个参数为false时,Hibernate不会连接数据库,输出命令行正确; } }
数据库关键字:点击这里
---------------------------------分割线---------------------------------
- 当所有子类都存储在一个表的时候,注意必须要有这句:
<discriminator column="value"/>
而子类的xml配置中也要有这个属性:
discriminator-value="type"
example:
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="Bean.ResourceBean" table="resourcebean"> <id name="id" type="string"> <generator class="uuid"/> </id> <discriminator column="type"/> <subclass name="Bean.VideoBean" discriminator-value="video"> <property name="thumbnail" type="string"/> </subclass> <subclass name="Bean.ForumBean" discriminator-value="forum"> <property name="isClose" type="integer"/> </subclass> </class> </hibernate-mapping>