Hibernate的一些小常识(待续)

  1. 在用户下面一段代码生成数据库时,记得不要将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不会连接数据库,输出命令行正确;
    	}
    }
    数据库关键字:点击这里

    ---------------------------------分割线---------------------------------

  2. 当所有子类都存储在一个表的时候,注意必须要有这句:
    <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>


你可能感兴趣的:(数据库,Hibernate,String,table,存储,Class)