HHH-14641 replace 'http://' reference with 'https://'
This commit is contained in:
parent
5579a38d4d
commit
d828bfb086
|
@ -21,10 +21,10 @@ While we try to keep requirements for contributing to a minimum, there are a few
|
||||||
we ask that you mind.
|
we ask that you mind.
|
||||||
|
|
||||||
For code contributions, these guidelines include:
|
For code contributions, these guidelines include:
|
||||||
* respect the project code style - find templates for [IntelliJ IDEA](https://community.jboss.org/docs/DOC-15468) or [Eclipse](https://community.jboss.org/docs/DOC-16649)
|
* respect the project code style - find templates for [IntelliJ IDEA](https://hibernate.org/community/contribute/intellij-idea/) or [Eclipse](https://hibernate.org/community/contribute/eclipse-ide/)
|
||||||
* have a corresponding JIRA issue and the key for this JIRA issue should be used in the commit message
|
* have a corresponding JIRA issue and the key for this JIRA issue should be used in the commit message
|
||||||
* have a set of appropriate tests. For bug reports, the tests reproduce the initial reported bug
|
* have a set of appropriate tests. For bug reports, the tests reproduce the initial reported bug
|
||||||
and illustrates that the solution actually fixes the bug. For features/enhancements, the
|
and illustrate that the solution actually fixes the bug. For features/enhancements, the
|
||||||
tests illustrate the feature working as intended. In both cases the tests are incorporated into
|
tests illustrate the feature working as intended. In both cases the tests are incorporated into
|
||||||
the project to protect against regressions
|
the project to protect against regressions
|
||||||
* if applicable, documentation is updated to reflect the introduced changes
|
* if applicable, documentation is updated to reflect the introduced changes
|
||||||
|
@ -47,14 +47,14 @@ GitHub there are a few pre-requisite steps to follow:
|
||||||
the linked page, this also includes:
|
the linked page, this also includes:
|
||||||
* [set up your local git install](https://help.github.com/articles/set-up-git)
|
* [set up your local git install](https://help.github.com/articles/set-up-git)
|
||||||
* clone your fork
|
* clone your fork
|
||||||
* See the wiki pages for setting up your IDE, whether you use
|
* see the wiki pages for setting up your IDE, whether you use
|
||||||
[IntelliJ IDEA](https://community.jboss.org/wiki/ContributingToHibernateUsingIntelliJ)
|
[IntelliJ IDEA](https://hibernate.org/community/contribute/intellij-idea/)
|
||||||
or [Eclipse](https://community.jboss.org/wiki/ContributingToHibernateUsingEclipse)<sup>(1)</sup>.
|
or [Eclipse](https://hibernate.org/community/contribute/eclipse-ide/)<sup>(1)</sup>.
|
||||||
|
|
||||||
|
|
||||||
## Create the working (topic) branch
|
## Create the working (topic) branch
|
||||||
|
|
||||||
Create a [topic branch](http://git-scm.com/book/en/Git-Branching-Branching-Workflows#Topic-Branches)
|
Create a [topic branch](https://git-scm.com/book/en/Git-Branching-Branching-Workflows#Topic-Branches)
|
||||||
on which you will work. The convention is to incorporate the JIRA issue key in the name of this branch,
|
on which you will work. The convention is to incorporate the JIRA issue key in the name of this branch,
|
||||||
although this is more of a mnemonic strategy than a hard-and-fast rule - but doing so helps:
|
although this is more of a mnemonic strategy than a hard-and-fast rule - but doing so helps:
|
||||||
* remember what each branch is for
|
* remember what each branch is for
|
||||||
|
@ -87,7 +87,7 @@ appreciated btw), please use rebasing rather than merging. Merging creates
|
||||||
## Submit
|
## Submit
|
||||||
|
|
||||||
* push your changes to the topic branch in your fork of the repository
|
* push your changes to the topic branch in your fork of the repository
|
||||||
* initiate a [pull request](http://help.github.com/articles/creating-a-pull-request)
|
* initiate a [pull request](https://help.github.com/articles/creating-a-pull-request)
|
||||||
* update the JIRA issue by providing the PR link in the **Pull Request** column on the right
|
* update the JIRA issue by providing the PR link in the **Pull Request** column on the right
|
||||||
|
|
||||||
|
|
||||||
|
|
12
README.md
12
README.md
|
@ -1,4 +1,4 @@
|
||||||
<img src="http://static.jboss.org/hibernate/images/hibernate_logo_whitebkg_200px.png" />
|
<img src="https://static.jboss.org/hibernate/images/hibernate_logo_whitebkg_200px.png" />
|
||||||
|
|
||||||
|
|
||||||
Hibernate ORM is a library providing Object/Relational Mapping (ORM) support
|
Hibernate ORM is a library providing Object/Relational Mapping (ORM) support
|
||||||
|
@ -6,9 +6,9 @@ to applications, libraries, and frameworks.
|
||||||
|
|
||||||
It also provides an implementation of the JPA specification, which is the standard Java specification for ORM.
|
It also provides an implementation of the JPA specification, which is the standard Java specification for ORM.
|
||||||
|
|
||||||
This is the repository of its source code: see [Hibernate.org](http://hibernate.org/orm/) for additional information.
|
This is the repository of its source code: see [Hibernate.org](https://hibernate.org/orm/) for additional information.
|
||||||
|
|
||||||
[![Build Status](http://ci.hibernate.org/job/hibernate-orm-main-h2-main/badge/icon)](http://ci.hibernate.org/job/hibernate-orm-main-h2-main/)
|
[![Build Status](https://ci.hibernate.org/job/hibernate-orm-main-h2-main/badge/icon)](https://ci.hibernate.org/job/hibernate-orm-main-h2-main/)
|
||||||
[![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/hibernate/hibernate-orm.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/hibernate/hibernate-orm/context:java)
|
[![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/hibernate/hibernate-orm.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/hibernate/hibernate-orm/context:java)
|
||||||
|
|
||||||
Building from sources
|
Building from sources
|
||||||
|
@ -23,7 +23,7 @@ Gradle.
|
||||||
|
|
||||||
Contributors should read the [Contributing Guide](CONTRIBUTING.md).
|
Contributors should read the [Contributing Guide](CONTRIBUTING.md).
|
||||||
|
|
||||||
See the guides for setting up [IntelliJ](http://hibernate.org/community/contribute/intellij-idea/) or
|
See the guides for setting up [IntelliJ](https://hibernate.org/community/contribute/intellij-idea/) or
|
||||||
[Eclipse](https://hibernate.org/community/contribute/eclipse-ide/) as your development environment.
|
[Eclipse](https://hibernate.org/community/contribute/eclipse-ide/) as your development environment.
|
||||||
|
|
||||||
Check out the _Getting Started_ section in CONTRIBUTING.md for getting started working on Hibernate source.
|
Check out the _Getting Started_ section in CONTRIBUTING.md for getting started working on Hibernate source.
|
||||||
|
@ -32,9 +32,9 @@ Check out the _Getting Started_ section in CONTRIBUTING.md for getting started w
|
||||||
Continuous Integration
|
Continuous Integration
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Hibernate makes use of [Jenkins](http://jenkins-ci.org) for its CI needs. The project is built continuous on each
|
Hibernate makes use of [Jenkins](https://jenkins-ci.org) for its CI needs. The project is built continuous on each
|
||||||
push to the upstream repository. Overall there are a few different jobs, all of which can be seen at
|
push to the upstream repository. Overall there are a few different jobs, all of which can be seen at
|
||||||
[http://ci.hibernate.org/view/ORM/](http://ci.hibernate.org/view/ORM/)
|
[https://ci.hibernate.org/view/ORM/](https://ci.hibernate.org/view/ORM/)
|
||||||
|
|
||||||
|
|
||||||
Gradle primer
|
Gradle primer
|
||||||
|
|
|
@ -119,14 +119,14 @@ task aggregateJavadocs(type: Javadoc) {
|
||||||
overview = project.file( 'src/main/javadoc/overview.html' )
|
overview = project.file( 'src/main/javadoc/overview.html' )
|
||||||
windowTitle = 'Hibernate JavaDocs'
|
windowTitle = 'Hibernate JavaDocs'
|
||||||
docTitle = "Hibernate JavaDoc ($project.version)"
|
docTitle = "Hibernate JavaDoc ($project.version)"
|
||||||
bottom = "Copyright © 2001-$currentYear <a href=\"http://redhat.com\">Red Hat, Inc.</a> All Rights Reserved."
|
bottom = "Copyright © 2001-$currentYear <a href=\"https://redhat.com\">Red Hat, Inc.</a> All Rights Reserved."
|
||||||
use = true
|
use = true
|
||||||
options.encoding = 'UTF-8'
|
options.encoding = 'UTF-8'
|
||||||
|
|
||||||
links = [
|
links = [
|
||||||
'https://docs.oracle.com/javase/8/docs/api/',
|
'https://docs.oracle.com/javase/8/docs/api/',
|
||||||
'http://docs.jboss.org/hibernate/beanvalidation/spec/2.0/api/',
|
'https://docs.jboss.org/hibernate/beanvalidation/spec/2.0/api/',
|
||||||
'http://docs.jboss.org/cdi/api/2.0/',
|
'https://docs.jboss.org/cdi/api/2.0/',
|
||||||
'https://javaee.github.io/javaee-spec/javadocs/'
|
'https://javaee.github.io/javaee-spec/javadocs/'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[[preface]]
|
[[preface]]
|
||||||
== Preface
|
== Preface
|
||||||
|
|
||||||
Hibernate is an http://en.wikipedia.org/wiki/Object-relational_mapping[Object/Relational Mapping] solution for Java environments.
|
Hibernate is an https://en.wikipedia.org/wiki/Object-relational_mapping[Object/Relational Mapping] solution for Java environments.
|
||||||
|
|
||||||
Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities.
|
Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities.
|
||||||
It can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC.
|
It can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC.
|
||||||
|
|
|
@ -9,14 +9,14 @@ hibernate-core:: The main (core) Hibernate module. Defines its ORM features and
|
||||||
hibernate-envers:: Hibernate's historical entity versioning feature
|
hibernate-envers:: Hibernate's historical entity versioning feature
|
||||||
hibernate-spatial:: Hibernate's Spatial/GIS data-type support
|
hibernate-spatial:: Hibernate's Spatial/GIS data-type support
|
||||||
hibernate-osgi:: Hibernate support for running in OSGi containers.
|
hibernate-osgi:: Hibernate support for running in OSGi containers.
|
||||||
hibernate-agroal:: Integrates the http://agroal.github.io/[Agroal] connection pooling library into Hibernate
|
hibernate-agroal:: Integrates the https://agroal.github.io/[Agroal] connection pooling library into Hibernate
|
||||||
hibernate-c3p0:: Integrates the http://www.mchange.com/projects/c3p0/[C3P0] connection pooling library into Hibernate
|
hibernate-c3p0:: Integrates the https://www.mchange.com/projects/c3p0/[C3P0] connection pooling library into Hibernate
|
||||||
hibernate-hikaricp:: Integrates the https://github.com/brettwooldridge/HikariCP/[HikariCP] connection pooling library into Hibernate
|
hibernate-hikaricp:: Integrates the https://github.com/brettwooldridge/HikariCP/[HikariCP] connection pooling library into Hibernate
|
||||||
hibernate-vibur:: Integrates the http://www.vibur.org/[Vibur DBCP] connection pooling library into Hibernate
|
hibernate-vibur:: Integrates the https://www.vibur.org/[Vibur DBCP] connection pooling library into Hibernate
|
||||||
hibernate-proxool:: Integrates the http://proxool.sourceforge.net/[Proxool] connection pooling library into Hibernate
|
hibernate-proxool:: Integrates the https://proxool.sourceforge.net/[Proxool] connection pooling library into Hibernate
|
||||||
hibernate-jcache:: Integrates the https://jcp.org/en/jsr/detail?id=107$$[JCache] caching specification into Hibernate,
|
hibernate-jcache:: Integrates the https://jcp.org/en/jsr/detail?id=107$$[JCache] caching specification into Hibernate,
|
||||||
enabling any compliant implementation to become a second-level cache provider.
|
enabling any compliant implementation to become a second-level cache provider.
|
||||||
hibernate-ehcache:: Integrates the http://ehcache.org/[Ehcache] caching library into Hibernate as a second-level cache provider.
|
hibernate-ehcache:: Integrates the https://ehcache.org/[Ehcache] caching library into Hibernate as a second-level cache provider.
|
||||||
|
|
||||||
=== Release Bundle Downloads
|
=== Release Bundle Downloads
|
||||||
|
|
||||||
|
@ -43,10 +43,10 @@ synced to Maven Central as part of an automated job (some small delay may occur)
|
||||||
|
|
||||||
The team responsible for the JBoss Maven repository maintains a number of Wiki pages that contain important information:
|
The team responsible for the JBoss Maven repository maintains a number of Wiki pages that contain important information:
|
||||||
|
|
||||||
* http://community.jboss.org/docs/DOC-14900 - General information about the repository.
|
* https://community.jboss.org/docs/DOC-14900 - General information about the repository.
|
||||||
* http://community.jboss.org/docs/DOC-15170 - Information about setting up the JBoss repositories in order to do
|
* https://community.jboss.org/docs/DOC-15170 - Information about setting up the JBoss repositories in order to do
|
||||||
development work on JBoss projects themselves.
|
development work on JBoss projects themselves.
|
||||||
* http://community.jboss.org/docs/DOC-15169 - Information about setting up access to the repository to use JBoss
|
* https://community.jboss.org/docs/DOC-15169 - Information about setting up access to the repository to use JBoss
|
||||||
projects as part of your own software.
|
projects as part of your own software.
|
||||||
|
|
||||||
The Hibernate ORM artifacts are published under the `org.hibernate` groupId.
|
The Hibernate ORM artifacts are published under the `org.hibernate` groupId.
|
|
@ -7,14 +7,14 @@ Working with both Object-Oriented software and Relational Databases can be cumbe
|
||||||
Development costs are significantly higher due to a number of "paradigm mismatches" between how data is represented in objects
|
Development costs are significantly higher due to a number of "paradigm mismatches" between how data is represented in objects
|
||||||
versus relational databases. Hibernate is an Object/Relational Mapping (ORM) solution for Java environments. The
|
versus relational databases. Hibernate is an Object/Relational Mapping (ORM) solution for Java environments. The
|
||||||
term Object/Relational Mapping refers to the technique of mapping data between an object model representation to
|
term Object/Relational Mapping refers to the technique of mapping data between an object model representation to
|
||||||
a relational data model representation. See http://en.wikipedia.org/wiki/Object-relational_mapping for a good
|
a relational data model representation. See https://en.wikipedia.org/wiki/Object-relational_mapping for a good
|
||||||
high-level discussion. Also, Martin Fowler's link:$$http://martinfowler.com/bliki/OrmHate.html$$[OrmHate] article
|
high-level discussion. Also, Martin Fowler's link:$$https://martinfowler.com/bliki/OrmHate.html$$[OrmHate] article
|
||||||
takes a look at many of the mismatch problems.
|
takes a look at many of the mismatch problems.
|
||||||
|
|
||||||
Although having a strong background in SQL is not required to use Hibernate, having a basic understanding of the
|
Although having a strong background in SQL is not required to use Hibernate, having a basic understanding of the
|
||||||
concepts can help you understand Hibernate more quickly and fully. An understanding of data modeling principles
|
concepts can help you understand Hibernate more quickly and fully. An understanding of data modeling principles
|
||||||
is especially important. Both http://www.agiledata.org/essays/dataModeling101.html and
|
is especially important. Both https://www.agiledata.org/essays/dataModeling101.html and
|
||||||
http://en.wikipedia.org/wiki/Data_modeling are good starting points for understanding these data modeling
|
https://en.wikipedia.org/wiki/Data_modeling are good starting points for understanding these data modeling
|
||||||
principles. If you are completely new to database access in Java,
|
principles. If you are completely new to database access in Java,
|
||||||
https://www.marcobehler.com/guides/a-guide-to-accessing-databases-in-java contains a good overview of the various parts,
|
https://www.marcobehler.com/guides/a-guide-to-accessing-databases-in-java contains a good overview of the various parts,
|
||||||
pieces and options.
|
pieces and options.
|
||||||
|
@ -33,6 +33,6 @@ logic in the Java-based middle-tier. However, Hibernate can certainly help you t
|
||||||
vendor-specific SQL code and streamlines the common task of translating result sets from a tabular
|
vendor-specific SQL code and streamlines the common task of translating result sets from a tabular
|
||||||
representation to a graph of objects.
|
representation to a graph of objects.
|
||||||
|
|
||||||
See http://hibernate.org/orm/contribute/ for information on getting involved.
|
See https://hibernate.org/orm/contribute/ for information on getting involved.
|
||||||
|
|
||||||
IMPORTANT: The projects and code for the tutorials referenced in this guide are available as link:hibernate-tutorials.zip[]
|
IMPORTANT: The projects and code for the tutorials referenced in this guide are available as link:hibernate-tutorials.zip[]
|
||||||
|
|
|
@ -98,7 +98,7 @@ any mapping information associated with `title`.
|
||||||
|
|
||||||
.Practice Exercises
|
.Practice Exercises
|
||||||
- [ ] Add an association to the `Event` entity to model a message thread. Use the
|
- [ ] Add an association to the `Event` entity to model a message thread. Use the
|
||||||
http://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html[_User Guide_] for more details.
|
https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html[_User Guide_] for more details.
|
||||||
- [ ] Add a callback to receive notifications when an `Event` is created, updated or deleted.
|
- [ ] Add a callback to receive notifications when an `Event` is created, updated or deleted.
|
||||||
Try the same with an event listener. Use the
|
Try the same with an event listener. Use the
|
||||||
http://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html[_User Guide_] for more details.
|
https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html[_User Guide_] for more details.
|
||||||
|
|
|
@ -12,7 +12,7 @@ static metamodel classes.
|
||||||
For developers it is important that the task of the metamodel generation
|
For developers it is important that the task of the metamodel generation
|
||||||
can be automated.
|
can be automated.
|
||||||
Hibernate Static Metamodel Generator is an annotation processor based on
|
Hibernate Static Metamodel Generator is an annotation processor based on
|
||||||
http://jcp.org/en/jsr/detail?id=269[JSR_269] with the task of creating JPA 2
|
https://jcp.org/en/jsr/detail?id=269[JSR_269] with the task of creating JPA 2
|
||||||
static metamodel classes.
|
static metamodel classes.
|
||||||
The following example shows two JPA 2 entities `Order` and `Item`, together
|
The following example shows two JPA 2 entities `Order` and `Item`, together
|
||||||
with the metamodel class `Order_` and a typesafe query.
|
with the metamodel class `Order_` and a typesafe query.
|
||||||
|
@ -111,7 +111,7 @@ persistence unit metadata:
|
||||||
== Canonical Metamodel
|
== Canonical Metamodel
|
||||||
|
|
||||||
The structure of the metamodel classes is described in the JPA 2
|
The structure of the metamodel classes is described in the JPA 2
|
||||||
(JSR 317) http://jcp.org/en/jsr/detail?id=317[specification], but for
|
(JSR 317) https://jcp.org/en/jsr/detail?id=317[specification], but for
|
||||||
completeness the definition is repeated in the following paragraphs.
|
completeness the definition is repeated in the following paragraphs.
|
||||||
Feel free to skip ahead to the <<chapter-usage,usage chapter>>, if you
|
Feel free to skip ahead to the <<chapter-usage,usage chapter>>, if you
|
||||||
are not interested into the gory details.
|
are not interested into the gory details.
|
||||||
|
@ -258,9 +258,9 @@ pass the processor option to the compiler plugin:
|
||||||
====
|
====
|
||||||
The maven-compiler-plugin approach has the disadvantage that the maven compiler plugin
|
The maven-compiler-plugin approach has the disadvantage that the maven compiler plugin
|
||||||
does currently not allow to specify multiple compiler arguments
|
does currently not allow to specify multiple compiler arguments
|
||||||
(http://jira.codehaus.org/browse/MCOMPILER-62[MCOMPILER-62])
|
(https://jira.codehaus.org/browse/MCOMPILER-62[MCOMPILER-62])
|
||||||
and that messages from the Messenger API are suppressed
|
and that messages from the Messenger API are suppressed
|
||||||
(http://jira.codehaus.org/browse/MCOMPILER-66[MCOMPILER-66]).
|
(https://jira.codehaus.org/browse/MCOMPILER-66[MCOMPILER-66]).
|
||||||
A better approach is to disable annotation processing for the compiler
|
A better approach is to disable annotation processing for the compiler
|
||||||
plugin as seen in below.
|
plugin as seen in below.
|
||||||
|
|
||||||
|
|
|
@ -343,7 +343,7 @@ service to be injected is optional, use `InjectService#required=false`.
|
||||||
Once built, a ServiceRegistry is generally considered immutable. The Services themselves might accept
|
Once built, a ServiceRegistry is generally considered immutable. The Services themselves might accept
|
||||||
re-configuration, but immutability here means adding/replacing services. So all the services hosted in a particular
|
re-configuration, but immutability here means adding/replacing services. So all the services hosted in a particular
|
||||||
ServiceRegistry must be known up-front. To this end, building a ServiceRegistry usually employees a
|
ServiceRegistry must be known up-front. To this end, building a ServiceRegistry usually employees a
|
||||||
http://en.wikipedia.org/wiki/Builder_pattern[builder^].
|
https://en.wikipedia.org/wiki/Builder_pattern[builder^].
|
||||||
|
|
||||||
=== Building BootstrapServiceRegistry
|
=== Building BootstrapServiceRegistry
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
== Hibernate ORM within WildFly
|
== Hibernate ORM within WildFly
|
||||||
|
|
||||||
The http://wildfly.org/[WildFly application server] includes Hibernate ORM as the default JPA provider out of the box.
|
The https://wildfly.org/[WildFly application server] includes Hibernate ORM as the default JPA provider out of the box.
|
||||||
|
|
||||||
In previous versions of Hibernate ORM, we offered a "feature pack" to enable anyone to use the very latest version in
|
In previous versions of Hibernate ORM, we offered a "feature pack" to enable anyone to use the very latest version in
|
||||||
WildFly as soon as a new release of Hibernate ORM was published.
|
WildFly as soon as a new release of Hibernate ORM was published.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
Working with both Object-Oriented software and Relational Databases can be cumbersome and time-consuming.
|
Working with both Object-Oriented software and Relational Databases can be cumbersome and time-consuming.
|
||||||
Development costs are significantly higher due to a paradigm mismatch between how data is represented in objects versus relational databases.
|
Development costs are significantly higher due to a paradigm mismatch between how data is represented in objects versus relational databases.
|
||||||
Hibernate is an Object/Relational Mapping solution for Java environments.
|
Hibernate is an Object/Relational Mapping solution for Java environments.
|
||||||
The term http://en.wikipedia.org/wiki/Object-relational_mapping[Object/Relational Mapping] refers to the technique of mapping data from an object model representation to a relational data model representation (and vice versa).
|
The term https://en.wikipedia.org/wiki/Object-relational_mapping[Object/Relational Mapping] refers to the technique of mapping data from an object model representation to a relational data model representation (and vice versa).
|
||||||
|
|
||||||
Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities.
|
Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities.
|
||||||
It can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC.
|
It can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC.
|
||||||
|
@ -16,9 +16,9 @@ However, Hibernate can certainly help you to remove or encapsulate vendor-specif
|
||||||
|
|
||||||
=== Get Involved
|
=== Get Involved
|
||||||
|
|
||||||
* Use Hibernate and report any bugs or issues you find. See http://hibernate.org/issuetracker[Issue Tracker] for details.
|
* Use Hibernate and report any bugs or issues you find. See https://hibernate.org/issuetracker[Issue Tracker] for details.
|
||||||
* Try your hand at fixing some bugs or implementing enhancements. Again, see http://hibernate.org/issuetracker[Issue Tracker].
|
* Try your hand at fixing some bugs or implementing enhancements. Again, see https://hibernate.org/issuetracker[Issue Tracker].
|
||||||
* Engage with the community using mailing lists, forums, IRC, or other ways listed in the http://hibernate.org/community[Community section].
|
* Engage with the community using mailing lists, forums, IRC, or other ways listed in the https://hibernate.org/community[Community section].
|
||||||
* Help improve or translate this documentation. Contact us on the developer mailing list if you have interest.
|
* Help improve or translate this documentation. Contact us on the developer mailing list if you have interest.
|
||||||
* Spread the word. Let the rest of your organization know about the benefits of Hibernate.
|
* Spread the word. Let the rest of your organization know about the benefits of Hibernate.
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ When building Hibernate 5.1 or older from sources, you need Java 1.7 due to a bu
|
||||||
=== Getting Started Guide
|
=== Getting Started Guide
|
||||||
|
|
||||||
New users may want to first look through the https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/quickstart/html_single/[Hibernate Getting Started Guide] for basic information as well as tutorials.
|
New users may want to first look through the https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/quickstart/html_single/[Hibernate Getting Started Guide] for basic information as well as tutorials.
|
||||||
There is also a series of http://docs.jboss.org/hibernate/orm/{majorMinorVersion}/topical/html_single/[topical guides] providing deep dives into various topics.
|
There is also a series of https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/topical/html_single/[topical guides] providing deep dives into various topics.
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
|
@ -44,8 +44,8 @@ While having a strong background in SQL is not required to use Hibernate, it cer
|
||||||
Probably even more important is an understanding of data modeling principles.
|
Probably even more important is an understanding of data modeling principles.
|
||||||
You might want to consider these resources as a good starting point:
|
You might want to consider these resources as a good starting point:
|
||||||
|
|
||||||
* http://en.wikipedia.org/wiki/Data_modeling[Data modeling Wikipedia definition]
|
* https://en.wikipedia.org/wiki/Data_modeling[Data modeling Wikipedia definition]
|
||||||
* http://www.agiledata.org/essays/dataModeling101.html[Data Modeling 101]
|
* https://www.agiledata.org/essays/dataModeling101.html[Data Modeling 101]
|
||||||
|
|
||||||
Understanding the basics of transactions and design patterns such as _Unit of Work_ (<<Bibliography.adoc#PoEAA,PoEAA>>) or _Application Transaction_ are important as well.
|
Understanding the basics of transactions and design patterns such as _Unit of Work_ (<<Bibliography.adoc#PoEAA,PoEAA>>) or _Application Transaction_ are important as well.
|
||||||
These topics will be discussed in the documentation, but a prior understanding will certainly help.
|
These topics will be discussed in the documentation, but a prior understanding will certainly help.
|
||||||
|
|
|
@ -674,7 +674,7 @@ See the <<chapters/caching/Caching.adoc#caching,Caching>> chapter for more info.
|
||||||
[[annotations-hibernate-cascade]]
|
[[annotations-hibernate-cascade]]
|
||||||
==== `@Cascade`
|
==== `@Cascade`
|
||||||
|
|
||||||
The https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/javadocs/org/hibernate/annotations/Cascade.html[`@Cascade`] annotation is used to apply the Hibernate specific http://docs.jboss.org/hibernate/orm/{majorMinorVersion}/javadocs/org/hibernate/annotations/CascadeType.html[`CascadeType`] strategies (e.g. `CascadeType.LOCK`, `CascadeType.SAVE_UPDATE`, `CascadeType.REPLICATE`) on a given association.
|
The https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/javadocs/org/hibernate/annotations/Cascade.html[`@Cascade`] annotation is used to apply the Hibernate specific https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/javadocs/org/hibernate/annotations/CascadeType.html[`CascadeType`] strategies (e.g. `CascadeType.LOCK`, `CascadeType.SAVE_UPDATE`, `CascadeType.REPLICATE`) on a given association.
|
||||||
|
|
||||||
For JPA cascading, prefer using the {jpaJavadocUrlPrefix}CascadeType.html[`javax.persistence.CascadeType`] instead.
|
For JPA cascading, prefer using the {jpaJavadocUrlPrefix}CascadeType.html[`javax.persistence.CascadeType`] instead.
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ Hibernate comes with a great variety of features that can help you tune the data
|
||||||
Although Hibernate provides the `update` option for the `hibernate.hbm2ddl.auto` configuration property,
|
Although Hibernate provides the `update` option for the `hibernate.hbm2ddl.auto` configuration property,
|
||||||
this feature is not suitable for a production environment.
|
this feature is not suitable for a production environment.
|
||||||
|
|
||||||
An automated schema migration tool (e.g. https://flywaydb.org/[Flyway], http://www.liquibase.org/[Liquibase]) allows you to use any database-specific DDL feature (e.g. Rules, Triggers, Partitioned Tables).
|
An automated schema migration tool (e.g. https://flywaydb.org/[Flyway], https://www.liquibase.org/[Liquibase]) allows you to use any database-specific DDL feature (e.g. Rules, Triggers, Partitioned Tables).
|
||||||
Every migration should have an associated script, which is stored on the Version Control System, along with the application source code.
|
Every migration should have an associated script, which is stored on the Version Control System, along with the application source code.
|
||||||
|
|
||||||
When the application is deployed on a production-like QA environment, and the deployment worked as expected, then pushing the deployment to a production environment should be straightforward since the latest schema migration was already tested.
|
When the application is deployed on a production-like QA environment, and the deployment worked as expected, then pushing the deployment to a production environment should be straightforward since the latest schema migration was already tested.
|
||||||
|
@ -233,7 +233,7 @@ and you should consider these alternatives prior to jumping to a second-level ca
|
||||||
|
|
||||||
After properly tuning the database, to further reduce the average response time and increase the system throughput, application-level caching becomes inevitable.
|
After properly tuning the database, to further reduce the average response time and increase the system throughput, application-level caching becomes inevitable.
|
||||||
|
|
||||||
Typically, a key-value application-level cache like https://memcached.org/[Memcached] or http://redis.io/[Redis] is a common choice to store data aggregates.
|
Typically, a key-value application-level cache like https://memcached.org/[Memcached] or https://redis.io/[Redis] is a common choice to store data aggregates.
|
||||||
If you can duplicate all data in the key-value store, you have the option of taking down the database system for maintenance without completely losing availability since read-only traffic can still be served from the cache.
|
If you can duplicate all data in the key-value store, you have the option of taking down the database system for maintenance without completely losing availability since read-only traffic can still be served from the cache.
|
||||||
|
|
||||||
One of the main challenges of using an application-level cache is ensuring data consistency across entity aggregates.
|
One of the main challenges of using an application-level cache is ensuring data consistency across entity aggregates.
|
||||||
|
|
|
@ -207,22 +207,22 @@ The number of seconds between two consecutive pool validations. During validatio
|
||||||
=== c3p0 properties
|
=== c3p0 properties
|
||||||
|
|
||||||
`*hibernate.c3p0.min_size*` (e.g. 1)::
|
`*hibernate.c3p0.min_size*` (e.g. 1)::
|
||||||
Minimum size of C3P0 connection pool. Refers to http://www.mchange.com/projects/c3p0/#minPoolSize[c3p0 `minPoolSize` setting].
|
Minimum size of C3P0 connection pool. Refers to https://www.mchange.com/projects/c3p0/#minPoolSize[c3p0 `minPoolSize` setting].
|
||||||
|
|
||||||
`*hibernate.c3p0.max_size*` (e.g. 5)::
|
`*hibernate.c3p0.max_size*` (e.g. 5)::
|
||||||
Maximum size of C3P0 connection pool. Refers to http://www.mchange.com/projects/c3p0/#maxPoolSize[c3p0 `maxPoolSize` setting].
|
Maximum size of C3P0 connection pool. Refers to https://www.mchange.com/projects/c3p0/#maxPoolSize[c3p0 `maxPoolSize` setting].
|
||||||
|
|
||||||
`*hibernate.c3p0.timeout*` (e.g. 30)::
|
`*hibernate.c3p0.timeout*` (e.g. 30)::
|
||||||
Maximum idle time for C3P0 connection pool. Refers to http://www.mchange.com/projects/c3p0/#maxIdleTime[c3p0 `maxIdleTime` setting].
|
Maximum idle time for C3P0 connection pool. Refers to https://www.mchange.com/projects/c3p0/#maxIdleTime[c3p0 `maxIdleTime` setting].
|
||||||
|
|
||||||
`*hibernate.c3p0.max_statements*` (e.g. 5)::
|
`*hibernate.c3p0.max_statements*` (e.g. 5)::
|
||||||
Maximum size of C3P0 statement cache. Refers to http://www.mchange.com/projects/c3p0/#maxStatements[c3p0 `maxStatements` setting].
|
Maximum size of C3P0 statement cache. Refers to https://www.mchange.com/projects/c3p0/#maxStatements[c3p0 `maxStatements` setting].
|
||||||
|
|
||||||
`*hibernate.c3p0.acquire_increment*` (e.g. 2)::
|
`*hibernate.c3p0.acquire_increment*` (e.g. 2)::
|
||||||
The number of connections acquired at a time when there's no connection available in the pool. Refers to http://www.mchange.com/projects/c3p0/#acquireIncrement[c3p0 `acquireIncrement` setting].
|
The number of connections acquired at a time when there's no connection available in the pool. Refers to https://www.mchange.com/projects/c3p0/#acquireIncrement[c3p0 `acquireIncrement` setting].
|
||||||
|
|
||||||
`*hibernate.c3p0.idle_test_period*` (e.g. 5)::
|
`*hibernate.c3p0.idle_test_period*` (e.g. 5)::
|
||||||
Idle time before a C3P0 pooled connection is validated. Refers to http://www.mchange.com/projects/c3p0/#idleConnectionTestPeriod[c3p0 `idleConnectionTestPeriod` setting].
|
Idle time before a C3P0 pooled connection is validated. Refers to https://www.mchange.com/projects/c3p0/#idleConnectionTestPeriod[c3p0 `idleConnectionTestPeriod` setting].
|
||||||
|
|
||||||
`*hibernate.c3p0*`::
|
`*hibernate.c3p0*`::
|
||||||
A setting prefix used to indicate additional c3p0 properties that need to be passed to the underlying c3p0 connection pool.
|
A setting prefix used to indicate additional c3p0 properties that need to be passed to the underlying c3p0 connection pool.
|
||||||
|
|
|
@ -489,7 +489,7 @@ However, this strategy requires the IN-clause row value expression for composite
|
||||||
If you can use temporary tables, that's probably the best choice.
|
If you can use temporary tables, that's probably the best choice.
|
||||||
However, if you are not allowed to create temporary tables, you must pick one of these four strategies that works with your underlying database.
|
However, if you are not allowed to create temporary tables, you must pick one of these four strategies that works with your underlying database.
|
||||||
Before making up your mind, you should benchmark which one works best for your current workload.
|
Before making up your mind, you should benchmark which one works best for your current workload.
|
||||||
For instance, http://blog.2ndquadrant.com/postgresql-ctes-are-optimization-fences/[CTE are optimization fences in PostgreSQL], so make sure you measure before making a decision.
|
For instance, https://blog.2ndquadrant.com/postgresql-ctes-are-optimization-fences/[CTE are optimization fences in PostgreSQL], so make sure you measure before making a decision.
|
||||||
|
|
||||||
If you're using Oracle or MySQL 5.7, you can choose either `InlineIdsOrClauseBulkIdStrategy` or `InlineIdsInClauseBulkIdStrategy`.
|
If you're using Oracle or MySQL 5.7, you can choose either `InlineIdsOrClauseBulkIdStrategy` or `InlineIdsInClauseBulkIdStrategy`.
|
||||||
For older version of MySQL, then you can only use `InlineIdsOrClauseBulkIdStrategy`.
|
For older version of MySQL, then you can only use `InlineIdsOrClauseBulkIdStrategy`.
|
||||||
|
|
|
@ -612,7 +612,7 @@ and also log a warning about the missing cache.
|
||||||
====
|
====
|
||||||
Note that caches created this way may not be suitable for production usage (unlimited size and no eviction in particular) unless the cache provider explicitly provides a specific configuration for default caches.
|
Note that caches created this way may not be suitable for production usage (unlimited size and no eviction in particular) unless the cache provider explicitly provides a specific configuration for default caches.
|
||||||
|
|
||||||
Ehcache, in particular, allows to set such default configuration using cache templates. See the http://www.ehcache.org/documentation/3.0/107.html#supplement-jsr-107-configurations[Ehcache documentation] for more details.
|
Ehcache, in particular, allows to set such default configuration using cache templates. See the https://www.ehcache.org/documentation/3.0/107.html#supplement-jsr-107-configurations[Ehcache documentation] for more details.
|
||||||
====
|
====
|
||||||
|
|
||||||
[[caching-provider-ehcache]]
|
[[caching-provider-ehcache]]
|
||||||
|
@ -622,7 +622,7 @@ This integration covers Ehcache 2.x, in order to use Ehcache 3.x as second level
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
Use of the built-in integration for http://www.ehcache.org/[Ehcache] requires that the `hibernate-ehcache` module jar (and all of its dependencies) are on the classpath.
|
Use of the built-in integration for https://www.ehcache.org/[Ehcache] requires that the `hibernate-ehcache` module jar (and all of its dependencies) are on the classpath.
|
||||||
====
|
====
|
||||||
|
|
||||||
[[caching-provider-ehcache-region-factory]]
|
[[caching-provider-ehcache-region-factory]]
|
||||||
|
@ -665,12 +665,12 @@ To use the `SingletonEhCacheRegionFactory`, you need to specify the following co
|
||||||
----
|
----
|
||||||
====
|
====
|
||||||
|
|
||||||
The `SingletonEhCacheRegionFactory` configures a singleton `net.sf.ehcache.CacheManager` (see http://www.ehcache.org/apidocs/2.8.4/net/sf/ehcache/CacheManager.html#create%28%29[CacheManager#create()]),
|
The `SingletonEhCacheRegionFactory` configures a singleton `net.sf.ehcache.CacheManager` (see https://www.ehcache.org/apidocs/2.8.4/net/sf/ehcache/CacheManager.html#create%28%29[CacheManager#create()]),
|
||||||
shared among multiple `SessionFactory` instances in the same JVM.
|
shared among multiple `SessionFactory` instances in the same JVM.
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
The http://www.ehcache.org/documentation/2.8/integrations/hibernate#optional[Ehcache documentation] recommends using multiple non-singleton ``CacheManager``s when there are multiple Hibernate `SessionFactory` instances running in the same JVM.
|
The https://www.ehcache.org/documentation/2.8/integrations/hibernate#optional[Ehcache documentation] recommends using multiple non-singleton ``CacheManager``s when there are multiple Hibernate `SessionFactory` instances running in the same JVM.
|
||||||
====
|
====
|
||||||
|
|
||||||
[[caching-provider-ehcache-missing-cache-strategy]]
|
[[caching-provider-ehcache-missing-cache-strategy]]
|
||||||
|
|
|
@ -199,7 +199,7 @@ But first, let's explore how implicit resolution works and how applications can
|
||||||
====
|
====
|
||||||
A thorough discussion of `BasicTypeRegistry` and all the different ways to contribute types is beyond the scope of this documentation.
|
A thorough discussion of `BasicTypeRegistry` and all the different ways to contribute types is beyond the scope of this documentation.
|
||||||
|
|
||||||
Please see the http://docs.jboss.org/hibernate/orm/{majorMinorVersion}/integrationguide/html_single/Hibernate_Integration_Guide.html[Integration Guide] for complete details.
|
Please see the https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/integrationguide/html_single/Hibernate_Integration_Guide.html[Integration Guide] for complete details.
|
||||||
====
|
====
|
||||||
|
|
||||||
As an example, take a String attribute such as we saw before with Product#sku.
|
As an example, take a String attribute such as we saw before with Product#sku.
|
||||||
|
|
|
@ -455,8 +455,8 @@ Hibernate will trigger a Persistence Context flush if there are pending `Account
|
||||||
==== Define a custom entity proxy
|
==== Define a custom entity proxy
|
||||||
|
|
||||||
By default, when it needs to use a proxy instead of the actual POJO, Hibernate is going to use a Bytecode manipulation library like
|
By default, when it needs to use a proxy instead of the actual POJO, Hibernate is going to use a Bytecode manipulation library like
|
||||||
http://jboss-javassist.github.io/javassist/[Javassist] or
|
https://jboss-javassist.github.io/javassist/[Javassist] or
|
||||||
http://bytebuddy.net/[Byte Buddy].
|
https://bytebuddy.net/[Byte Buddy].
|
||||||
|
|
||||||
However, if the entity class is final, Javassist will not create a proxy and you will get a POJO even when you only need a proxy reference.
|
However, if the entity class is final, Javassist will not create a proxy and you will get a POJO even when you only need a proxy reference.
|
||||||
In this case, you could proxy an interface that this particular entity implements, as illustrated by the following example.
|
In this case, you could proxy an interface that this particular entity implements, as illustrated by the following example.
|
||||||
|
|
|
@ -1580,8 +1580,8 @@ And sometime in 2011, the last partition (or 'extension bucket') is split into t
|
||||||
[[envers-links]]
|
[[envers-links]]
|
||||||
=== Envers links
|
=== Envers links
|
||||||
|
|
||||||
. http://hibernate.org[Hibernate main page]
|
. https://hibernate.org[Hibernate main page]
|
||||||
. http://hibernate.org/community/[Forum]
|
. https://hibernate.org/community/[Forum]
|
||||||
. https://hibernate.atlassian.net/[JIRA issue tracker] (when adding issues concerning Envers, be sure to select the "envers" component!)
|
. https://hibernate.atlassian.net/[JIRA issue tracker] (when adding issues concerning Envers, be sure to select the "envers" component!)
|
||||||
. https://hibernate.zulipchat.com/#narrow/stream/132096-hibernate-user[Zulip channel]
|
. https://hibernate.zulipchat.com/#narrow/stream/132096-hibernate-user[Zulip channel]
|
||||||
. https://community.jboss.org/wiki/EnversFAQ[FAQ]
|
. https://community.jboss.org/wiki/EnversFAQ[FAQ]
|
||||||
|
|
|
@ -55,20 +55,20 @@ NOTE: Not all properties apply to all situations. For example, if you are provid
|
||||||
To use the c3p0 integration, the application must include the `hibernate-c3p0` module jar (as well as its dependencies) on the classpath.
|
To use the c3p0 integration, the application must include the `hibernate-c3p0` module jar (as well as its dependencies) on the classpath.
|
||||||
====
|
====
|
||||||
|
|
||||||
Hibernate also provides support for applications to use http://www.mchange.com/projects/c3p0/[c3p0] connection pooling.
|
Hibernate also provides support for applications to use https://www.mchange.com/projects/c3p0/[c3p0] connection pooling.
|
||||||
When c3p0 support is enabled, a number of c3p0-specific configuration settings are recognized in addition to the general ones described in <<database-connectionprovider-driver>>.
|
When c3p0 support is enabled, a number of c3p0-specific configuration settings are recognized in addition to the general ones described in <<database-connectionprovider-driver>>.
|
||||||
|
|
||||||
Transaction isolation of the Connections is managed by the `ConnectionProvider` itself. See <<database-connectionprovider-isolation>>.
|
Transaction isolation of the Connections is managed by the `ConnectionProvider` itself. See <<database-connectionprovider-isolation>>.
|
||||||
|
|
||||||
`hibernate.c3p0.min_size` or `c3p0.minPoolSize`:: The minimum size of the c3p0 pool. See http://www.mchange.com/projects/c3p0/#minPoolSize[c3p0 minPoolSize]
|
`hibernate.c3p0.min_size` or `c3p0.minPoolSize`:: The minimum size of the c3p0 pool. See https://www.mchange.com/projects/c3p0/#minPoolSize[c3p0 minPoolSize]
|
||||||
`hibernate.c3p0.max_size` or `c3p0.maxPoolSize`:: The maximum size of the c3p0 pool. See http://www.mchange.com/projects/c3p0/#maxPoolSize[c3p0 maxPoolSize]
|
`hibernate.c3p0.max_size` or `c3p0.maxPoolSize`:: The maximum size of the c3p0 pool. See https://www.mchange.com/projects/c3p0/#maxPoolSize[c3p0 maxPoolSize]
|
||||||
`hibernate.c3p0.timeout` or `c3p0.maxIdleTime`:: The Connection idle time. See http://www.mchange.com/projects/c3p0/#maxIdleTime[c3p0 maxIdleTime]
|
`hibernate.c3p0.timeout` or `c3p0.maxIdleTime`:: The Connection idle time. See https://www.mchange.com/projects/c3p0/#maxIdleTime[c3p0 maxIdleTime]
|
||||||
`hibernate.c3p0.max_statements` or `c3p0.maxStatements`:: Controls the c3p0 PreparedStatement cache size (if using). See http://www.mchange.com/projects/c3p0/#maxStatements[c3p0 maxStatements]
|
`hibernate.c3p0.max_statements` or `c3p0.maxStatements`:: Controls the c3p0 PreparedStatement cache size (if using). See https://www.mchange.com/projects/c3p0/#maxStatements[c3p0 maxStatements]
|
||||||
`hibernate.c3p0.acquire_increment` or `c3p0.acquireIncrement`:: Number of connections c3p0 should acquire at a time when the pool is exhausted. See http://www.mchange.com/projects/c3p0/#acquireIncrement[c3p0 acquireIncrement]
|
`hibernate.c3p0.acquire_increment` or `c3p0.acquireIncrement`:: Number of connections c3p0 should acquire at a time when the pool is exhausted. See https://www.mchange.com/projects/c3p0/#acquireIncrement[c3p0 acquireIncrement]
|
||||||
`hibernate.c3p0.idle_test_period` or `c3p0.idleConnectionTestPeriod`:: Idle time before a c3p0 pooled connection is validated. See http://www.mchange.com/projects/c3p0/#idleConnectionTestPeriod[c3p0 idleConnectionTestPeriod]
|
`hibernate.c3p0.idle_test_period` or `c3p0.idleConnectionTestPeriod`:: Idle time before a c3p0 pooled connection is validated. See https://www.mchange.com/projects/c3p0/#idleConnectionTestPeriod[c3p0 idleConnectionTestPeriod]
|
||||||
`hibernate.c3p0.initialPoolSize`:: The initial c3p0 pool size. If not specified, default is to use the min pool size. See http://www.mchange.com/projects/c3p0/#initialPoolSize[c3p0 initialPoolSize]
|
`hibernate.c3p0.initialPoolSize`:: The initial c3p0 pool size. If not specified, default is to use the min pool size. See https://www.mchange.com/projects/c3p0/#initialPoolSize[c3p0 initialPoolSize]
|
||||||
Any other settings prefixed with `hibernate.c3p0.`:: Will have the `hibernate.` portion stripped and be passed to c3p0.
|
Any other settings prefixed with `hibernate.c3p0.`:: Will have the `hibernate.` portion stripped and be passed to c3p0.
|
||||||
Any other settings prefixed with `c3p0.`:: Get passed to c3p0 as is. See http://www.mchange.com/projects/c3p0/#configuration[c3p0 configuration]
|
Any other settings prefixed with `c3p0.`:: Get passed to c3p0 as is. See https://www.mchange.com/projects/c3p0/#configuration[c3p0 configuration]
|
||||||
|
|
||||||
[[database-connectionprovider-proxool]]
|
[[database-connectionprovider-proxool]]
|
||||||
=== Using Proxool
|
=== Using Proxool
|
||||||
|
@ -78,7 +78,7 @@ Any other settings prefixed with `c3p0.`:: Get passed to c3p0 as is. See http://
|
||||||
To use the Proxool integration, the application must include the `hibernate-proxool` module jar (as well as its dependencies) on the classpath.
|
To use the Proxool integration, the application must include the `hibernate-proxool` module jar (as well as its dependencies) on the classpath.
|
||||||
====
|
====
|
||||||
|
|
||||||
Hibernate also provides support for applications to use http://proxool.sourceforge.net/[Proxool] connection pooling.
|
Hibernate also provides support for applications to use https://proxool.sourceforge.net/[Proxool] connection pooling.
|
||||||
|
|
||||||
Transaction isolation of the Connections is managed by the `ConnectionProvider` itself. See <<database-connectionprovider-isolation>>.
|
Transaction isolation of the Connections is managed by the `ConnectionProvider` itself. See <<database-connectionprovider-isolation>>.
|
||||||
|
|
||||||
|
@ -92,14 +92,14 @@ If set to true, this ConnectionProvider will use an already existing Proxool poo
|
||||||
==== Configuring Proxool via XML
|
==== Configuring Proxool via XML
|
||||||
|
|
||||||
The `hibernate.proxool.xml` setting names a Proxool configuration XML file to be loaded as a classpath resource and loaded by Proxool's JAXPConfigurator.
|
The `hibernate.proxool.xml` setting names a Proxool configuration XML file to be loaded as a classpath resource and loaded by Proxool's JAXPConfigurator.
|
||||||
See http://proxool.sourceforge.net/configure.html[proxool configuration].
|
See https://proxool.sourceforge.net/configure.html[proxool configuration].
|
||||||
`hibernate.proxool.pool_alias` must be set to indicate which pool to use.
|
`hibernate.proxool.pool_alias` must be set to indicate which pool to use.
|
||||||
|
|
||||||
[[database-connectionprovider-proxool-properties]]
|
[[database-connectionprovider-proxool-properties]]
|
||||||
==== Configuring Proxool via Properties
|
==== Configuring Proxool via Properties
|
||||||
|
|
||||||
The `hibernate.proxool.properties` setting names a Proxool configuration properties file to be loaded as a classpath resource and loaded by Proxool's `PropertyConfigurator`.
|
The `hibernate.proxool.properties` setting names a Proxool configuration properties file to be loaded as a classpath resource and loaded by Proxool's `PropertyConfigurator`.
|
||||||
See http://proxool.sourceforge.net/configure.html[proxool configuration].
|
See https://proxool.sourceforge.net/configure.html[proxool configuration].
|
||||||
`hibernate.proxool.pool_alias` must be set to indicate which pool to use.
|
`hibernate.proxool.pool_alias` must be set to indicate which pool to use.
|
||||||
|
|
||||||
[[database-connectionprovider-hikari]]
|
[[database-connectionprovider-hikari]]
|
||||||
|
@ -131,7 +131,7 @@ Note that Hikari only supports JDBC standard isolation levels (apparently).
|
||||||
To use the Vibur DBCP integration, the application must include the `hibernate-vibur` module jar (as well as its dependencies) on the classpath.
|
To use the Vibur DBCP integration, the application must include the `hibernate-vibur` module jar (as well as its dependencies) on the classpath.
|
||||||
====
|
====
|
||||||
|
|
||||||
Hibernate also provides support for applications to use http://www.vibur.org/[Vibur DBCP] connection pool.
|
Hibernate also provides support for applications to use https://www.vibur.org/[Vibur DBCP] connection pool.
|
||||||
|
|
||||||
Set all of your Vibur settings in Hibernate prefixed by `hibernate.vibur.` and this `ConnectionProvider` will pick them up and pass them along to Vibur DBCP.
|
Set all of your Vibur settings in Hibernate prefixed by `hibernate.vibur.` and this `ConnectionProvider` will pick them up and pass them along to Vibur DBCP.
|
||||||
Additionally, this `ConnectionProvider` will pick up the following Hibernate-specific properties and map them to the corresponding Vibur ones (any `hibernate.vibur.` prefixed ones have precedence):
|
Additionally, this `ConnectionProvider` will pick up the following Hibernate-specific properties and map them to the corresponding Vibur ones (any `hibernate.vibur.` prefixed ones have precedence):
|
||||||
|
@ -151,7 +151,7 @@ Additionally, this `ConnectionProvider` will pick up the following Hibernate-spe
|
||||||
To use the Agroal integration, the application must include the `hibernate-agroal` module jar (as well as its dependencies) on the classpath.
|
To use the Agroal integration, the application must include the `hibernate-agroal` module jar (as well as its dependencies) on the classpath.
|
||||||
====
|
====
|
||||||
|
|
||||||
Hibernate also provides support for applications to use http://agroal.github.io/[Agroal] connection pool.
|
Hibernate also provides support for applications to use https://agroal.github.io/[Agroal] connection pool.
|
||||||
|
|
||||||
Set all of your Agroal settings in Hibernate prefixed by `hibernate.agroal.` and this `ConnectionProvider` will pick them up and pass them along to Agroal connection pool.
|
Set all of your Agroal settings in Hibernate prefixed by `hibernate.agroal.` and this `ConnectionProvider` will pick them up and pass them along to Agroal connection pool.
|
||||||
Additionally, this `ConnectionProvider` will pick up the following Hibernate-specific properties and map them to the corresponding Agroal ones (any `hibernate.agroal.` prefixed ones have precedence):
|
Additionally, this `ConnectionProvider` will pick up the following Hibernate-specific properties and map them to the corresponding Agroal ones (any `hibernate.agroal.` prefixed ones have precedence):
|
||||||
|
|
|
@ -8,7 +8,7 @@ In a relational database, locking refers to actions taken to prevent data from c
|
||||||
Your locking strategy can be either optimistic or pessimistic.
|
Your locking strategy can be either optimistic or pessimistic.
|
||||||
|
|
||||||
Optimistic::
|
Optimistic::
|
||||||
http://en.wikipedia.org/wiki/Optimistic_locking[Optimistic locking] assumes that multiple transactions can complete without affecting each other,
|
https://en.wikipedia.org/wiki/Optimistic_locking[Optimistic locking] assumes that multiple transactions can complete without affecting each other,
|
||||||
and that therefore transactions can proceed without locking the data resources that they affect.
|
and that therefore transactions can proceed without locking the data resources that they affect.
|
||||||
Before committing, each transaction verifies that no other transaction has modified its data.
|
Before committing, each transaction verifies that no other transaction has modified its data.
|
||||||
If the check reveals conflicting modifications, the committing transaction rolls back.
|
If the check reveals conflicting modifications, the committing transaction rolls back.
|
||||||
|
|
|
@ -66,7 +66,7 @@ Hibernate was changed slightly, once the implications of this were better unders
|
||||||
The underlying issue is that the actual semantics of the application itself changes in these cases.
|
The underlying issue is that the actual semantics of the application itself changes in these cases.
|
||||||
====
|
====
|
||||||
|
|
||||||
Starting with version 3.2.3, Hibernate comes with a set of http://in.relation.to/2082.lace[enhanced] identifier generators targeting portability in a much different way.
|
Starting with version 3.2.3, Hibernate comes with a set of https://in.relation.to/2082.lace[enhanced] identifier generators targeting portability in a much different way.
|
||||||
|
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
|
|
|
@ -909,7 +909,7 @@ include::{extrasdir}/hql-distinct-entity-query-example.sql[]
|
||||||
----
|
----
|
||||||
====
|
====
|
||||||
|
|
||||||
In this case, the `DISTINCT` SQL keyword is undesirable since it does a redundant result set sorting, as explained http://in.relation.to/2016/08/04/introducing-distinct-pass-through-query-hint/[in this blog post].
|
In this case, the `DISTINCT` SQL keyword is undesirable since it does a redundant result set sorting, as explained https://in.relation.to/2016/08/04/introducing-distinct-pass-through-query-hint/[in this blog post].
|
||||||
To fix this issue, Hibernate 5.2.2 added support for the `HINT_PASS_DISTINCT_THROUGH` entity query hint:
|
To fix this issue, Hibernate 5.2.2 added support for the `HINT_PASS_DISTINCT_THROUGH` entity query hint:
|
||||||
|
|
||||||
[[hql-distinct-entity-query-hint-example]]
|
[[hql-distinct-entity-query-hint-example]]
|
||||||
|
|
|
@ -15,13 +15,13 @@ It supports most of the functions described by the OGC Simple Feature Specificat
|
||||||
PostgreSQL/PostGIS, MySQL, Microsoft SQL Server and H2/GeoDB.
|
PostgreSQL/PostGIS, MySQL, Microsoft SQL Server and H2/GeoDB.
|
||||||
|
|
||||||
Spatial data types are not part of the Java standard library, and they are absent from the JDBC specification.
|
Spatial data types are not part of the Java standard library, and they are absent from the JDBC specification.
|
||||||
Over the years http://tsusiatsoftware.net/jts/main.html[JTS] has emerged the _de facto_ standard to fill this gap. JTS is
|
Over the years https://tsusiatsoftware.net/jts/main.html[JTS] has emerged the _de facto_ standard to fill this gap. JTS is
|
||||||
an implementation of the https://portal.opengeospatial.org/files/?artifact_id=829[Simple Feature Specification (SFS)]. Many databases
|
an implementation of the https://portal.opengeospatial.org/files/?artifact_id=829[Simple Feature Specification (SFS)]. Many databases
|
||||||
on the other hand implement the SQL/MM - Part 3: Spatial Data specification - a related, but broader specification. The biggest difference is that
|
on the other hand implement the SQL/MM - Part 3: Spatial Data specification - a related, but broader specification. The biggest difference is that
|
||||||
SFS is limited to 2D geometries in the projected plane (although JTS supports 3D coordinates), whereas
|
SFS is limited to 2D geometries in the projected plane (although JTS supports 3D coordinates), whereas
|
||||||
SQL/MM supports 2-, 3- or 4-dimensional coordinate spaces.
|
SQL/MM supports 2-, 3- or 4-dimensional coordinate spaces.
|
||||||
|
|
||||||
Hibernate Spatial supports two different geometry models: http://tsusiatsoftware.net/jts/main.html[JTS] and
|
Hibernate Spatial supports two different geometry models: https://tsusiatsoftware.net/jts/main.html[JTS] and
|
||||||
https://github.com/GeoLatte/geolatte-geom[geolatte-geom]. As already mentioned, JTS is the _de facto_
|
https://github.com/GeoLatte/geolatte-geom[geolatte-geom]. As already mentioned, JTS is the _de facto_
|
||||||
standard. Geolatte-geom (also written by the lead developer of Hibernate Spatial) is a more recent library that
|
standard. Geolatte-geom (also written by the lead developer of Hibernate Spatial) is a more recent library that
|
||||||
supports many features specified in SQL/MM but not available in JTS (such as support for 4D geometries, and support for extended WKT/WKB formats).
|
supports many features specified in SQL/MM but not available in JTS (such as support for 4D geometries, and support for extended WKT/WKB formats).
|
||||||
|
|
|
@ -40,7 +40,7 @@ or provide a custom `org.hibernate.resource.transaction.TransactionCoordinatorBu
|
||||||
[NOTE]
|
[NOTE]
|
||||||
====
|
====
|
||||||
For details on implementing a custom `TransactionCoordinatorBuilder`, or simply better understanding how it works, see the
|
For details on implementing a custom `TransactionCoordinatorBuilder`, or simply better understanding how it works, see the
|
||||||
http://docs.jboss.org/hibernate/orm/{majorMinorVersion}/integrationguide/html_single/Hibernate_Integration_Guide.html[Integration Guide] .
|
https://docs.jboss.org/hibernate/orm/{majorMinorVersion}/integrationguide/html_single/Hibernate_Integration_Guide.html[Integration Guide] .
|
||||||
====
|
====
|
||||||
|
|
||||||
Hibernate uses JDBC connections and JTA resources directly, without adding any additional locking behavior.
|
Hibernate uses JDBC connections and JTA resources directly, without adding any additional locking behavior.
|
||||||
|
|
|
@ -24,7 +24,7 @@ jar {
|
||||||
'Implementation-Version': project.version,
|
'Implementation-Version': project.version,
|
||||||
'Implementation-Vendor': 'Hibernate.org',
|
'Implementation-Vendor': 'Hibernate.org',
|
||||||
'Implementation-Vendor-Id': 'org.hibernate',
|
'Implementation-Vendor-Id': 'org.hibernate',
|
||||||
'Implementation-Url': 'http://hibernate.org/orm',
|
'Implementation-Url': 'https://hibernate.org/orm',
|
||||||
|
|
||||||
// Java 9 module name
|
// Java 9 module name
|
||||||
'Automatic-Module-Name': project.java9ModuleName,
|
'Automatic-Module-Name': project.java9ModuleName,
|
||||||
|
@ -37,7 +37,7 @@ jar {
|
||||||
'Bundle-Name': project.name,
|
'Bundle-Name': project.name,
|
||||||
'Bundle-SymbolicName': project.java9ModuleName,
|
'Bundle-SymbolicName': project.java9ModuleName,
|
||||||
'Bundle-Vendor': 'Hibernate.org',
|
'Bundle-Vendor': 'Hibernate.org',
|
||||||
'Bundle-DocURL': "http://www.hibernate.org/orm/${project.ormVersion.family}",
|
'Bundle-DocURL': "https://hibernate.org/orm/${project.ormVersion.family}",
|
||||||
// This is overridden in some sub-projects
|
// This is overridden in some sub-projects
|
||||||
'Import-Package': [
|
'Import-Package': [
|
||||||
// Temporarily support JTA 1.1 -- Karaf and other frameworks still
|
// Temporarily support JTA 1.1 -- Karaf and other frameworks still
|
||||||
|
@ -65,7 +65,7 @@ task sourcesJar(type: Jar) {
|
||||||
'Implementation-Version': project.version,
|
'Implementation-Version': project.version,
|
||||||
'Implementation-Vendor': 'Hibernate.org',
|
'Implementation-Vendor': 'Hibernate.org',
|
||||||
'Implementation-Vendor-Id': 'org.hibernate',
|
'Implementation-Vendor-Id': 'org.hibernate',
|
||||||
'Implementation-Url': 'http://hibernate.org/orm',
|
'Implementation-Url': 'https://hibernate.org/orm',
|
||||||
|
|
||||||
// Hibernate-specific JAR manifest attributes
|
// Hibernate-specific JAR manifest attributes
|
||||||
'Hibernate-VersionFamily': project.ormVersion.family,
|
'Hibernate-VersionFamily': project.ormVersion.family,
|
||||||
|
@ -87,7 +87,7 @@ task javadocJar(type: Jar) {
|
||||||
'Implementation-Version': project.version,
|
'Implementation-Version': project.version,
|
||||||
'Implementation-Vendor': 'Hibernate.org',
|
'Implementation-Vendor': 'Hibernate.org',
|
||||||
'Implementation-Vendor-Id': 'org.hibernate',
|
'Implementation-Vendor-Id': 'org.hibernate',
|
||||||
'Implementation-Url': 'http://hibernate.org/orm',
|
'Implementation-Url': 'https://hibernate.org/orm',
|
||||||
|
|
||||||
// Hibernate-specific JAR manifest attributes
|
// Hibernate-specific JAR manifest attributes
|
||||||
'Hibernate-VersionFamily': project.ormVersion.family,
|
'Hibernate-VersionFamily': project.ormVersion.family,
|
||||||
|
@ -110,13 +110,13 @@ javadoc {
|
||||||
configure( options ) {
|
configure( options ) {
|
||||||
windowTitle = "$project.name JavaDocs"
|
windowTitle = "$project.name JavaDocs"
|
||||||
docTitle = "$project.name JavaDocs ($project.version)"
|
docTitle = "$project.name JavaDocs ($project.version)"
|
||||||
bottom = "Copyright © 2001-$currentYear <a href=\"http://redhat.com\">Red Hat, Inc.</a> All Rights Reserved."
|
bottom = "Copyright © 2001-$currentYear <a href=\"https://redhat.com\">Red Hat, Inc.</a> All Rights Reserved."
|
||||||
use = true
|
use = true
|
||||||
encoding = 'UTF-8'
|
encoding = 'UTF-8'
|
||||||
links += [
|
links += [
|
||||||
'https://docs.oracle.com/javase/8/docs/api/',
|
'https://docs.oracle.com/javase/8/docs/api/',
|
||||||
'http://docs.jboss.org/hibernate/beanvalidation/spec/2.0/api/',
|
'https://docs.jboss.org/hibernate/beanvalidation/spec/2.0/api/',
|
||||||
'http://docs.jboss.org/cdi/api/2.0/',
|
'https://docs.jboss.org/cdi/api/2.0/',
|
||||||
'https://javaee.github.io/javaee-spec/javadocs/'
|
'https://javaee.github.io/javaee-spec/javadocs/'
|
||||||
]
|
]
|
||||||
tags = [ "apiNote", 'implSpec', 'implNote', 'todo' ]
|
tags = [ "apiNote", 'implSpec', 'implNote', 'todo' ]
|
||||||
|
|
|
@ -20,25 +20,25 @@ publishing {
|
||||||
pom {
|
pom {
|
||||||
name = 'Hibernate ORM - ' + project.name
|
name = 'Hibernate ORM - ' + project.name
|
||||||
description = project.description
|
description = project.description
|
||||||
url = 'http://hibernate.org/orm'
|
url = 'https://hibernate.org/orm'
|
||||||
|
|
||||||
organization {
|
organization {
|
||||||
name = 'Hibernate.org'
|
name = 'Hibernate.org'
|
||||||
url = 'http://hibernate.org'
|
url = 'https://hibernate.org'
|
||||||
}
|
}
|
||||||
|
|
||||||
licenses {
|
licenses {
|
||||||
license {
|
license {
|
||||||
name = 'GNU Library General Public License v2.1 or later'
|
name = 'GNU Library General Public License v2.1 or later'
|
||||||
url = 'http://www.opensource.org/licenses/LGPL-2.1'
|
url = 'https://www.opensource.org/licenses/LGPL-2.1'
|
||||||
comments = 'See discussion at http://hibernate.org/community/license/ for more details.'
|
comments = 'See discussion at https://hibernate.org/community/license/ for more details.'
|
||||||
distribution = 'repo'
|
distribution = 'repo'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
scm {
|
scm {
|
||||||
url = 'http://github.com/hibernate/hibernate-orm'
|
url = 'https://github.com/hibernate/hibernate-orm'
|
||||||
connection = 'scm:git:http://github.com/hibernate/hibernate-orm.git'
|
connection = 'scm:git:https://github.com/hibernate/hibernate-orm.git'
|
||||||
developerConnection = 'scm:git:git@github.com:hibernate/hibernate-orm.git'
|
developerConnection = 'scm:git:git@github.com:hibernate/hibernate-orm.git'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ publishing {
|
||||||
id = 'hibernate-team'
|
id = 'hibernate-team'
|
||||||
name = 'The Hibernate Development Team'
|
name = 'The Hibernate Development Team'
|
||||||
organization = 'Hibernate.org'
|
organization = 'Hibernate.org'
|
||||||
organizationUrl = 'http://hibernate.org'
|
organizationUrl = 'https://hibernate.org'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue