JPA规范要就在类的META-INF目录下防止persistence.xml,文件名是固定的,配置模版如下,
xml代码:
<?xml version="1.0"?><persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.3w.org/2001/xmlschema-instace" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"><persistence-util name="itcast" transaction="RESOUCE_LOCAL"><prpvider>org.hibernate.ejb.HibernatePersistence<provider><class>com.xiaoxin.entity</class><class>com.xiaoxin.dao</class><class>com.xiaoxin.action</class><exclude-unlisted-classes>true</exclude-unlisted-classes><properties><!--基本配值 --><property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver" /><property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" /><!-- 驱动类型:数据库类型:thin:@ip地址:端口:监听器名称 --><property name="hibernate.connection.url" value="jdbc:oracle:thin:@127.0.0.1:1521:xe" /><property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect" /><!-- 访问数据库用户 --><property name="hibernate.connection.username" value="xiaoxin" /><!-- 访问数据库密码 --><property name="hibernate.connection.password" value="111111" /><!--create是建表、清空数据库数据 update可以修改表中的数据、可以修改表结构、不可以建表 none只可以修改表中的数据,不编辑表结构 --><property name="hibernate.hbm2ddl.auto" value="none" /><!-- 显示sql语句 --><property name="hibernate.show_sql" value="true" /><!-- 输出格式化后的sql,更方便查看 --><property name="hibernate.format_sql" value="true" /><!--其它配值 --><property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" /><property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider" /><!-- 最小连接数 --><property name="c3p0.min_size" value="5" /><!-- 最大连接数 --><property name="c3p0.max_size" value="30" /><!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --><property name="c3p0.maxIdleTime" value="0" /><!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 --><property name="c3p0.timeout" value="1800" /><!-- 最大的PreparedStatement的数量 --><property name="c3p0.max_statements" value="50" /><!-- 每隔10秒检查连接池里的空闲连接 ,单位是秒 --><property name="c3p0.idle_test_period" value="10" /><!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 --><property name="c3p0.acquire_increment" value="1" /><!-- 是否每次都验证连接是否可用 --><property name="c3p0.validate" value="true" /></properties></persistence-util>
1<persistence-util><persistence-util>.
1.1name(必选)属性:定义持久化单元的名称.
1.2transaction-type(可选):指定事务类型.
2<description></
description
>(可选):描述信息.
description
>(可选):描述信息.
3<provider></
provider
>(可选):接口的实现类.
provider
>(可选):接口的实现类.
4<jta-data-sources>java:/MySqlDS</
jta-data-sources
>
<
non-jta-da ta-source
>
</
non-jta-da ta-source
>
(可选):持久化供应商使用的JTA和non-JTA数据源的全局JNDI名称.
jta-data-sources
>
<
non-jta-da
>
</
non-jta-da
>
(可选):持久化供应商使用的JTA和non-JTA数据源的全局JNDI名称.
5<mapping-file>product.xml</mapping-file>(可选):声明ORM.xml所在位置.
6<jar-file>../lib/model.jar</
jar-file
>(可选):天津唉额外的jar文件.
jar-file
>(可选):天津唉额外的jar文件.
7<class>com.xiaoxin.Person</class>(可选):列出实体类.
8<exclude-unlisted-classes>true</
exclude-unlisted-classes
>(可选):是否扫描jar文件中标注了@Entity类加入上下文.
exclude-unlisted-classes
>(可选):是否扫描jar文件中标注了@Entity类加入上下文.
9<properties><property></
property
></
properties
>(可选):厂商专有属性.
property
></
properties
>(可选):厂商专有属性.
通常企业建模开发中,有两种做法:
1先建表,根据表编写配置文件和实体Bean.这是一种传统数据建模.
2先写配置文件和实体Bean,然后生成表,这是一种领域建模思想,这种思想更加OOP.
建议使用第二种领域建模思想.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36518.html