问题描述
昨天面试被问了一个hibernate的问题,一个User类有username,password属性,还有otherInformation等其他属性,username和password映射到一个表,otherInformation等其他属性映射到另一个表,使用User类时不会感觉到是两个表的的存在,如何配置User.mapping.xml文件进行配置??
解决方案
这叫“Table per subclass”:<class name="Base" table="表1"> <id name="id" type="long" column="BASE_ID"> <generator class="native"/> </id> <property name="username" column="username"/> <property name="password" column="password"/> ... <joined-subclass name="User" table="表2"> <key column="BASE_ID"/> <property name="otherInformation" column="otherInformation"/> ... </joined-subclass></class>表2的主键与父表表1的主键是一个一对一的关联。
解决方案二:
应该不行吧,否则进行映射的时候,没法区分到底指向那个数据表了、
解决方案三:
好像不能这么做
解决方案四:
应该是用subclass继承。
时间: 2024-08-03 22:06:16