使用hibernate查询数据库时,如果表名是需要根据输入来确定,那么在映射文件里的表名应该怎么写?

 我来答
Ice_Iolly
推荐于2017-12-16 · TA获得超过298个赞
知道小有建树答主
回答量:238
采纳率:100%
帮助的人:142万
展开全部

你的hibernate,cfg.xml   里面要连接到本地数据库的数据库名。这个是你自己定义的。、

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->

<hibernate-configuration>


<session-factory>

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="connection.url">jdbc:mysql://localhost:3306/数据库名</property>

<property name="connection.username">账号</property>

<property name="connection.password">密码</property>

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="myeclipse.connection.profile">mysql</property>

<!-- <property name="session_factory_name">java:com/uucun/hibernateFactotry/HIbernateSessionFactory</property> -->

<mapping resource="com/uucun/bean/表名1.hbm.xml" />

<mapping resource="com/uucun/bean/表名2.hbm.xml" />

<mapping resource="com/uucun/bean/表名3.hbm.xml"/>


</session-factory>

</hibernate-configuration>

更多追问追答
追问
我没表达清楚,您的这个事hibernate的配置文件,我想问的是实体所对应的映射文件,在映射文件里要写表名,但是表名是根据其他输入值来确定,那么映射文件里的表名应该怎么写。
追答

 Name.hbm.xml  



 <?xml
version="1.0" encoding="utf-8" ?>

  <!DOCTYPE
hibernate-mapping (View Source for full doctype...)>

- <!--  
   Mapping file autogenerated by MyEclipse Persistence Tools

  -->

- <hibernate-mapping default-cascade="none"
default-access="property" default-lazy="true"
auto-import="true">

- <class name="表的位置(表名首字母大写)如com.ssh.bean.Name" table="name" catalog="数据库名"
mutable="true" polymorphism="implicit" dynamic-update="false"
dynamic-insert="false" select-before-update="false"
optimistic-lock="version">

- <id name="id" type="java.lang.Integer">

  <column name="id" />

  <generator class="native" />

  </id>

- <property name="username"
type="java.lang.String" unique="false"
optimistic-lock="true" lazy="false"
generated="never">

  <column name="username"
length="45" />

  </property>

  </class>

  </hibernate-mapping>



如上可以映射到比如一个数据库名字是ssh,表名是name里面的Name就是你实体化的类,就是将首字母大写。将里面的column进行实例化成元素。


然后写一个具体的Name类就可以调用这个数据库的这张张表了。

少女心Eve
2014-12-29 · 记录美好生活每一天,分享生活新鲜事。
少女心Eve
采纳数:590 获赞数:714

向TA提问 私信TA
展开全部
Hibernate中的NamingStrategy可以达到这个目的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式