JDK 14 is now in Rampdown Phase Two
by Rory O'Donnell
Hi Sanne,
*Per the JDK 14 schedule , we are now in Rampdown Phase Two
*
*Please advise if you have any open high priority issues.*
**
* The overall feature set is frozen.
o No further JEPs will be targeted to this release
o Per the JDK Release Process [1] we now turn our focus to P1 and
P2 bugs.
o For more details , see Mark Reinhold's email to jdk-dev mailing
list [2]
JDK 14 Early Access build 32 is availableat : - jdk.java.net/14/
* These early-access , open-source builds are provided under the
o GNU General Public License, version 2, with the Classpath
Exception <http://openjdk.java.net/legal/gplv2+ce.html>.
* Recent fixes that maybe of interest:
o Build 32
+ JDK-8230318: Better trust store usage
+ JDK-8225773: jdeps --check produces NPE if there is any
missing module dependence
# reported by JUnit5
+ JDK-8235870: C2 crashes in
IdealLoopTree::est_loop_flow_merge_sz()
# duplicate of Apache Lucene's bug.
o Build 31
+ JDK-8235984: C2: assert(out->in(PhiNode::Region) == head ||
out->in(PhiNode::Region) == slow_head) failed: phi must be
either part of the slow or the fast loop
# duplicate of JDK-8236412 reported by Apache Lucene.
+ JDK-8236695: java.lang.Record should be declared with an
explicit constructor
JDK 15 Early Access build 6 is availableat : - jdk.java.net/15/
* These early-access , open-source builds are provided under the
o GNU General Public License, version 2, with the Classpath
Exception <http://openjdk.java.net/legal/gplv2+ce.html>.
* Release notes
o http://jdk.java.net/15/release-notes
* Recent fixes that maybe of interest :
o Build 6
+ JDK-7143743: Potential memory leak with zip provider
# Contributed by Jaikiran!
+ JDK-8213222: remove RMIConnectorServer.CREDENTIAL_TYPES
+ JDK-8235870: C2 crashes in
IdealLoopTree::est_loop_flow_merge_sz()
# duplicate of Apache Lucene's bug.
o Build 5
+ JDK-8227313: Support monetary grouping separator in
DecimalFormat/DecimalFormatSymbols
+ JDK-8236695: java.lang.Record should be declared with an
explicit constructor
*Invitation to Project Skara update and demo, January 22, 2020, 8:30 am PST
*
* See Joe Darcy's email [3]*
*
**
Rgds, Rory
[1] http://openjdk.java.net/jeps/3
[2] https://mail.openjdk.java.net/pipermail/jdk-dev/2020-January/003846.html
[3] https://mail.openjdk.java.net/pipermail/discuss/2020-January/005274.html
--
Rgds, Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin, Ireland
4 years, 8 months
Bidirectional one-to-one, both sides are owners, using @PrimaryKeyJoinColumn
by Gail Badner
Hi,
Does Hibernate support having both entities involved in a one-to-one
association own its side of the association when using
@PrimaryKeyJoinColumn?
My guess is that this is not supported by Hibernate. I just want to confirm.
For example:
@Entity
public class Employee {
@EmbeddedId
private CompositeKey id;
@OneToOne(optional = false)
@PrimaryKeyJoinColumns({
@PrimaryKeyJoinColumn(name = "ID1", referencedColumnName = "ID1"),
@PrimaryKeyJoinColumn(name = "ID2", referencedColumnName =
"ID2"), })
})
private EmployeeInfo employeeInfo;
...
}
@Entity
public class EmployeeInfo {
@EmbeddedId
private CompositeKey id;
@OneToOne(optional = false)
@PrimaryKeyJoinColumns({
@PrimaryKeyJoinColumn(name = "ID1", referencedColumnName = "ID1"),
@PrimaryKeyJoinColumn(name = "ID2", referencedColumnName =
"ID2"), })
})
private Employee employee;
...
}
In this particular case, the foreign keys have been deleted, so it's
possible to load and delete these entities.
An attempt to insert an entity on either side results in:
org.hibernate.PropertyValueException: not-null property references a null
or transient value
When converted to use @MapsId and @JoinColumns instead, Hibernate throws:
org.hibernate.MappingException: cyclic dependency in derived identities
Please let me know...
Thanks,
Gail
4 years, 8 months
6.0 - HQL literals
by Steve Ebersole
Initially when I started working on 6.0 I added support for defining
temporal literals using JDBC's "escape syntax". JDBC already defines a
syntax for declaring temporal literals using this syntax -
- {d '2020-01-01'} for a Date
- {t '10:10:10'} for a Time
- {ts '2020-01-01 10:10:10'} for a Timestamp
I had planned on using this syntax to define generalized support for adding
new types of literals using the "prefix" which is the first identifier
after the open brace. I did not have any concrete plans for specific types
of literals, although I was hoping this would fit with hibernate-spatial
needs.
Since temporal values are so common I added another simplified form:
- {2020-01-01} for a "Date"
- {10:10:10} for a "Time"
- {2020-01-01 10:10:10} for a "Timestamp"
Notice first the absence of quotes for these. The patterns is defined as a
syntactic element of the grammar (thanks to Gavin King for this particular
idea)[1].
As a side note, I first tried to use back-ticks for these simplified
temporal literals rather than braces but that conflicts with the
`QUOTED_IDENTIFIER` lexer rule. `QUOTED_IDENTIFIER` is never used (and
really kind of meaningless in the HQL grammar) so one option would be to
remove that rule and use the back-ticks for these literals like
`2020-01-01` as opposed to {2020-01-01} if folks like that better.
It's also important to note that I actually use the Java 8 temporal types
internally to represent these simplified literals because it is easy to
translate from one type to another starting from these types.
Anyone have objections or suggestions regarding any of this?
[1] -
https://github.com/hibernate/hibernate-orm/blob/eab6107ec2e7b3a0c06146a9f...
4 years, 8 months
JDK 14 Early Access build 30 & JDK 15 Early Access build 4 are available.
by Rory O'Donnell
Hi Sanne,
Happy New Year !
*Per the JDK 14 schedule , we are now in Rampdown Phase One*
*Please advise if you have found any issues while testing the latest
Early Access build.
*
* The overall feature set is frozen.
o No further JEPs will be targeted to this release
o For more details , see Mark Reinhold's email to jdk-dev mailing
list [1]
*JDK 14 **Early Access build 30 **is available**at : - jdk.java.net/14/*
* These early-access , open-source builds are provided under the
o GNU General Public License, version 2, with the Classpath
Exception <http://openjdk.java.net/legal/gplv2+ce.html>.
* Release notes
o https://jdk.java.net/14/release-notes
* Recent fixes that might be of interest
o Build 29:
+ JDK-8233228: Disable weak named curves by default in TLS,
CertPath, and Signed JAR
o Build 28:
+ JDK-8234049: Implementation of Memory Access API (Incubator)
+ JDK-8235668: LineNumberReader#getLineNumber() returns wrong
line number (one fewer) in Lucene test
# Reported by Apache Lucene
*JDK 15 **Early Access build 4 **is available**at : - jdk.java.net/15/*
* These early-access , open-source builds are provided under the
o GNU General Public License, version 2, with the Classpath
Exception <http://openjdk.java.net/legal/gplv2+ce.html>.
* Release notes
o http://jdk.java.net/15/release-notes
The Quality Outreach Report for Decemeber 2019 was published since the
last email
* https://wiki.openjdk.java.net/display/quality/Quality+Outreach+report+Dec...
* Many thanks to all those who contributed to testing, logging bugs
etc against the Early Access builds.
*
*
Rgds, Rory
[1]
https://mail.openjdk.java.net/pipermail/jdk-dev/2019-December/003795.html
--
Rgds, Rory O'Donnell
Quality Engineering Manager
Oracle EMEA, Dublin, Ireland
4 years, 9 months