[Hibernate-JIRA] Commented: (HHH-1258) startup time improvements
by Max Rydahl Andersen (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258?page=c... ]
Max Rydahl Andersen commented on HHH-1258:
------------------------------------------
this looks interesting - at least as a starting point.
It would be really helpfull if you could submit your changes as a patch instead of the complete file. Thanks!
> startup time improvements
> -------------------------
>
> Key: HHH-1258
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258
> Project: Hibernate3
> Type: Improvement
> Components: core
> Versions: 3.1 rc3
> Reporter: Max Rydahl Andersen
> Assignee: Max Rydahl Andersen
> Attachments: SessionFactoryImpl.java
>
>
> while doing some basic startup perf testing the following were found - this issue is mainly to track what I find, and then fix it:
> Initial tests where 100 classes, 30 sec for buildSessionFactory
> setting hibernate.cglib.use_reflection_optimizer false and it is 10 sec for buildSessionFactory.
> (maybe we should autodetect which jdk we are running on and disable it per default for 1.4/1.5 - needs to validate runtime impact)
> Another (22%) time stealer is the discovery of getter/setters - in worst case it iterates over all declared methods per property.
> (alternatively we could cache/sort this list or make a more efficient implementation if a class only contain default property accessors)
> Other 20% of the time is done in net.sf.cglib related classes for build time enhancement.
> The rest of the time is Configuration creation (can be cached) and other iteration code.
> (p.s. don't take the % numbers as hard values - these are definitly affected by how many methods/classes you have; this underlying tests
> is done on pojos with a "high" method count (approx 100)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
19 years, 6 months
[Hibernate-JIRA] Commented: (HHH-1258) startup time improvements
by Tyler Van Gorder (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258?page=c... ]
Tyler Van Gorder commented on HHH-1258:
---------------------------------------
Oh one more thing, the startup time on my unit tests: 365+ persistent classes
My machine:
Before the patch 12 seconds......
After the patch 3.2 seconds...
We had one machine that was taking 1 minute to intialize the factory and that has been reduced to 11 seconds!
I would really like to get your input, even if this doesn't make it into the hibernate code base, I would at least like it to be thread safe!
Thanks Max.
> startup time improvements
> -------------------------
>
> Key: HHH-1258
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258
> Project: Hibernate3
> Type: Improvement
> Components: core
> Versions: 3.1 rc3
> Reporter: Max Rydahl Andersen
> Assignee: Max Rydahl Andersen
> Attachments: SessionFactoryImpl.java
>
>
> while doing some basic startup perf testing the following were found - this issue is mainly to track what I find, and then fix it:
> Initial tests where 100 classes, 30 sec for buildSessionFactory
> setting hibernate.cglib.use_reflection_optimizer false and it is 10 sec for buildSessionFactory.
> (maybe we should autodetect which jdk we are running on and disable it per default for 1.4/1.5 - needs to validate runtime impact)
> Another (22%) time stealer is the discovery of getter/setters - in worst case it iterates over all declared methods per property.
> (alternatively we could cache/sort this list or make a more efficient implementation if a class only contain default property accessors)
> Other 20% of the time is done in net.sf.cglib related classes for build time enhancement.
> The rest of the time is Configuration creation (can be cached) and other iteration code.
> (p.s. don't take the % numbers as hard values - these are definitly affected by how many methods/classes you have; this underlying tests
> is done on pojos with a "high" method count (approx 100)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
19 years, 6 months
[Hibernate-JIRA] Updated: (HHH-1258) startup time improvements
by Tyler Van Gorder (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258?page=all ]
Tyler Van Gorder updated HHH-1258:
----------------------------------
Attachment: SessionFactoryImpl.java
Here is the alternate SessionFactoryImpl.
> startup time improvements
> -------------------------
>
> Key: HHH-1258
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258
> Project: Hibernate3
> Type: Improvement
> Components: core
> Versions: 3.1 rc3
> Reporter: Max Rydahl Andersen
> Assignee: Max Rydahl Andersen
> Attachments: SessionFactoryImpl.java
>
>
> while doing some basic startup perf testing the following were found - this issue is mainly to track what I find, and then fix it:
> Initial tests where 100 classes, 30 sec for buildSessionFactory
> setting hibernate.cglib.use_reflection_optimizer false and it is 10 sec for buildSessionFactory.
> (maybe we should autodetect which jdk we are running on and disable it per default for 1.4/1.5 - needs to validate runtime impact)
> Another (22%) time stealer is the discovery of getter/setters - in worst case it iterates over all declared methods per property.
> (alternatively we could cache/sort this list or make a more efficient implementation if a class only contain default property accessors)
> Other 20% of the time is done in net.sf.cglib related classes for build time enhancement.
> The rest of the time is Configuration creation (can be cached) and other iteration code.
> (p.s. don't take the % numbers as hard values - these are definitly affected by how many methods/classes you have; this underlying tests
> is done on pojos with a "high" method count (approx 100)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
19 years, 6 months
[Hibernate-JIRA] Commented: (HHH-1258) startup time improvements
by Tyler Van Gorder (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258?page=c... ]
Tyler Van Gorder commented on HHH-1258:
---------------------------------------
Hi Max,
I got some time at a recent conference to work on a 3.2 version of the "on-demand" configuration loading. A couple of comments:
- This patch is intended to ONLY be used in a testing environment
- This patch is strictly to the SessionFactoryImpl
- This patch is not yet thread-safe.
What I have done:
- The sessionfactory implementation keeps a reference to both the configuration and mapping objects.
- There is a boolean "onDemandConfiguration" to turn this "patch" on/off.
- The maps : entityPersisters, classMetadata, collectionPersisters, collectionMetadata have been made mutable.
- Initialization (when the patch is on) still populates the maps however, the maps contain PersistentClass (for entityPersisters)
and Collection (for collectionPersisters)
- Any place where either the entityPersisters or collectionPersisters map is accessed, I check the type, if its a PersistentClass
then I create the entityPersister at that point and replace the entry in the map. ditto for Collection.
My only concern is the following method: "getImplementors"
- I am not sure I am doing everything correct in here when the entry is a PersistentClass rather than an EntityPersister.
Finally, thread safety:
This should be totally doable, I don't think I can add a monitor to each map, because they may be accessed in different orders and result in a deadlock, which means there needs to be one monitor for all the mutable maps. What are your thoughts on this?
Thanks.
Tyler.
See attatched file:
> startup time improvements
> -------------------------
>
> Key: HHH-1258
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1258
> Project: Hibernate3
> Type: Improvement
> Components: core
> Versions: 3.1 rc3
> Reporter: Max Rydahl Andersen
> Assignee: Max Rydahl Andersen
>
>
> while doing some basic startup perf testing the following were found - this issue is mainly to track what I find, and then fix it:
> Initial tests where 100 classes, 30 sec for buildSessionFactory
> setting hibernate.cglib.use_reflection_optimizer false and it is 10 sec for buildSessionFactory.
> (maybe we should autodetect which jdk we are running on and disable it per default for 1.4/1.5 - needs to validate runtime impact)
> Another (22%) time stealer is the discovery of getter/setters - in worst case it iterates over all declared methods per property.
> (alternatively we could cache/sort this list or make a more efficient implementation if a class only contain default property accessors)
> Other 20% of the time is done in net.sf.cglib related classes for build time enhancement.
> The rest of the time is Configuration creation (can be cached) and other iteration code.
> (p.s. don't take the % numbers as hard values - these are definitly affected by how many methods/classes you have; this underlying tests
> is done on pojos with a "high" method count (approx 100)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
19 years, 6 months
[Hibernate-JIRA] Commented: (HHH-1737) The new BorrowedConnectionProxy prevents users from accessing the native connection
by Steve Sarandos (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1737?page=c... ]
Steve Sarandos commented on HHH-1737:
-------------------------------------
I ran into this issue when trying to call a stored procedure that requires an array argument. To pass an array using Oracle's JDBC driver you need to call ArrayDescriptor.createDescriptor() passing the Oracle array type name. Calling this method now fails with a ClassCastException due to the fact that the connection is proxied.
To solve this I added a new getConnectionProxyInterfaces() method to the Dialect class. The default implementation returns a Class array containing the java.sql.Connection class. This essentially causing the BorrowedConnectionProxy class to behave as it does now. To solve my Oracle-specific problem I overrode the getConnectionProxyInterfaces() method in Oracle9Dialect and had it return an array of interface classes containing the Oracle-specific connection interface(oracle.jdbc.OracleConnection). It uses interface names and looks them up through reflection to prevent any dependency on the Oracle JDBC driver:
public Class[] getConnectionProxyInterfaces() {
String[] interfaceNames = new String[] {"java.sql.Connection", "oracle.jdbc.OracleConnection"};
Class[] interfaces = new Class[2];
for (int i = 0; i < interfaces.length; i++) {
try {
interfaces[i] = ReflectHelper.classForName(interfaceNames[i]);
} catch (Exception se) {
throw new HibernateException("Problem while trying to load Oracle connection interfaces.",se);
}
}
return interfaces;
}
BorrowedConnectionProxy's generateProxy method changes to this:
public static Connection generateProxy(ConnectionManager connectionManager) {
BorrowedConnectionProxy handler = new BorrowedConnectionProxy( connectionManager );
Dialect dialect = connectionManager.getFactory().getDialect();
return ( Connection ) Proxy.newProxyInstance(
Thread.currentThread().getContextClassLoader(),
dialect.getConnectionProxyInterfaces(),
handler
);
}
This allows Hibernate to keep the protection of the proxy and still allow for access to vendor specific functionality.
> The new BorrowedConnectionProxy prevents users from accessing the native connection
> -----------------------------------------------------------------------------------
>
> Key: HHH-1737
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1737
> Project: Hibernate3
> Type: Bug
> Components: core
> Versions: 3.1.1, 3.1.2, 3.1.3
> Environment: Hibernate 3.1.3, Oracle 9.2.0.4
> Reporter: Nick Reid
>
>
> The borrowConnection functionality now prevents us from accessing the native connection to perform necessary operations (LOB handling, OAQ integration). Instead of just returning a simple proxy the implements java.sql.Connection the proxy could additionally implement an interface that allows users to access the wrapped connection returned by the ConnectionManager.
> i.e.
> public interface BorrowedConnection extends java.sql.Connection
> {
> java.sql.Connection getTargetConnection()
> }
> public class BorrowedConnectionProxy implements InvocationHandler {
> private final ConnectionManager connectionManager;
> private boolean useable = true;
> public BorrowedConnectionProxy(ConnectionManager connectionManager) {
> this.connectionManager = connectionManager;
> }
> public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
> if ( "close".equals( method.getName() ) ) {
> connectionManager.releaseBorrowedConnection();
> return null;
> }
> if ( "getTargetConnection".equals( method.getName() ) ) {
> return connectionManager.getConnection();
> }
> // should probably no-op commit/rollback here, at least in JTA scenarios
> if ( !useable ) {
> throw new HibernateException( "connnection proxy not usable after transaction completion" );
> }
> try {
> return method.invoke( connectionManager.getConnection(), args );
> }
> catch( InvocationTargetException e ) {
> throw e.getTargetException();
> }
> }
> public static Connection generateProxy(ConnectionManager connectionManager) {
> BorrowedConnectionProxy handler = new BorrowedConnectionProxy( connectionManager );
> return ( Connection ) Proxy.newProxyInstance(
> Connection.class.getClassLoader(),
> new Class[] { BorrowedConnection.class },
> handler
> );
> }
> public static void renderUnuseable(Connection connection) {
> if ( connection != null && Proxy.isProxyClass( connection.getClass() ) ) {
> InvocationHandler handler = Proxy.getInvocationHandler( connection );
> if ( BorrowedConnectionProxy.class.isAssignableFrom( handler.getClass() ) ) {
> ( ( BorrowedConnectionProxy ) handler ).useable = false;
> }
> }
> }
> }
> We could always get access to the connectionManager field of the invocation handler via reflection, but this is not supportable or maintainable.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
19 years, 6 months
[Hibernate-JIRA] Commented: (HHH-1012) index not created by SchemaUpdate
by Christian Sprajc (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1012?page=c... ]
Christian Sprajc commented on HHH-1012:
---------------------------------------
Ouch! Is this still open? I think this is known since hibernate 2.0 ;(.
When will this be fixed? I'm using JBoss 4.0.4 EJB3
> index not created by SchemaUpdate
> ---------------------------------
>
> Key: HHH-1012
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1012
> Project: Hibernate3
> Type: Bug
> Versions: 3.1 beta 1, 3.1 beta 2, 3.0.5
> Environment: Windows XP, MySQL/PostgreSQL
> Reporter: Xavier Farret
> Priority: Minor
> Attachments: Indexes.patch
>
>
> i'm using an hbm.xml as describe below and the 'hibernate.hbm2ddl.auto' is egal to update.
> <class table="featurestat" name=".....">
> <id name="id" type="long" column="idFeatureStat">
> <generator class="increment"/>
> </id>
> <properties name="fsUniqueValue" unique="true">
> ....
> </properties>
> <property name="frequency" .../>
> <property name="idFatherFeature" index="FeatStatDocExtSectFeat" not-null="true" type="long" column="..."/>
> ....
> </class>
> Indexes for pk or unique key are well created, but the index explicity named 'FeatStatDocExtSectFeat' is never created. If i put the property 'hibernate.hbm2ddl.auto' in the cfg.xml as 'create' the index is created. But in my case i have to set my property 'hibernate.hbm2ddl.auto' to update.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
19 years, 6 months
[Hibernate-JIRA] Commented: (HHH-1832) Expression.in on component object gives parameters til SQL in wrong order.
by DnD (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1832?page=c... ]
DnD commented on HHH-1832:
--------------------------
i have seen this behaviour as well...at least as far as this behaviour is concerned, it looks like a minor transposition error:
in org.hibernate.criterion.InExpression.getTypedValues(Criteria, CriteriaQuery), replacing
for ( int i=0; i<types.length; i++ ) {
for ( int j=0; j<values.length; j++ ) {
with
for ( int j=0; j<values.length; j++ ) {
for ( int i=0; i<types.length; i++ ) {
seemed to do the trick.
but i may be missing something else.
> Expression.in on component object gives parameters til SQL in wrong order.
> --------------------------------------------------------------------------
>
> Key: HHH-1832
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1832
> Project: Hibernate3
> Type: Bug
> Components: query-criteria
> Versions: 3.1.2
> Environment: Development in IntellIJ IDEA 4.5.3
> Database:Oracle 10g Enteprise Edition release 10.1.0.2.0
> Reporter: Thomas Andersen
> Attachments: HibernateBug.zip
>
>
> I'm using an Expression.in on a component class with two attributes (one Long and one String). When executing the code I an empty list.
> When using the generated SQL in DBVisualizer adding the variables it returns the expectet list.
> Debug log level and reveals (detailed documentation later in description):
> Parameters are bound in the wrong order:
> Paramters are bound
> ... where (this_.ejerlavskode, this_.matrikelnr) in ((9999, 9999), (01, 03))
> should be 9999, 01, 9999, 03 according to
> ... where (this_.ejerlavskode, this_.matrikelnr) in ((9999, 01), (9999, 03))
> Parameter pairs are by class Matrikelbetegnelse(ejerlavskode=9999, matrikenr=01)
> Hibernate version:
> Hibernate 3.1.2
> Mapping documents:
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE hibernate-mapping PUBLIC
> "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
> <hibernate-mapping
> <class
> name="Sagsadvarsel"
> table="sagsadvarsel"
> >
> <id
> name="id"
> column="id"
> type="long"
> >
> <generator class="native">
> <param name="sequence">sagsadvarsel_id_seq</param>
> </generator>
> </id>
> <version
> name="version"
> column="version"
> type="long"
> />
> <property
> name="datoTid"
> type="java.util.Date"
> update="true"
> insert="true"
> column="datoTid"
> not-null="false"
> />
> <component
> name="matrikelbetegnelse"
> class="Matrikelbetegnelse"
> >
> <property
> name="ejerlavskode"
> type="java.lang.Long"
> update="true"
> insert="true"
> column="ejerlavskode"
> />
> <property
> name="matrikelnr"
> type="java.lang.String"
> update="true"
> insert="true"
> column="matrikelnr"
> length="20"
> />
> </component>
> </class>
> </hibernate-mapping>
> Code between sessionFactory.openSession() and session.close():
> Long ejerlav = new Long(9999);
> final Matrikelbetegnelse[] matrikelbetegnelser = new Matrikelbetegnelse[2];
> matrikelbetegnelser[0] = new Matrikelbetegnelse(ejerlav, "01");
> matrikelbetegnelser[1] = new Matrikelbetegnelse(ejerlav, "03");
> List list = session.createCriteria(Sagsadvarsel.class)
> .add(Expression.in("matrikelbetegnelse",matrikelbetegnelser))
> .list();
> log.debug("list " + list.size());
> import java.util.Date;
> import java.io.Serializable;
> /**
> * @hibernate.class table="sagsadvarsel"
> */
> public class Sagsadvarsel implements Serializable{
> private long id;
> private long version;
> private Date datoTid;
> private Matrikelbetegnelse matrikelbetegnelse;
> /**
> * @return
> * @hibernate.id generator-class="native"
> */
> public long getId() {
> return id;
> }
> public void setId(long id) {
> this.id = id;
> }
> /**
> * Udlever versionsnummer for forekomsten. Feltet ajourføres af Hibernate, som samtidig bruger det til at
> * forhindre samtidig opdatering fra to processer.
> * hibernate.version
> * @return
> */
> public long getVersion() {
> return version;
> }
> public void setVersion(long version) {
> this.version = version;
> }
> /**
> * Udlever datotid (Dato og tidspunkt for sagsadvarsel).
> *
> * @hibernate.property not-null="false"
> * @return datotid
> */
> public Date getDatoTid() {
> return datoTid;
> }
> public void setDatoTid(Date datoTid) {
> this.datoTid = datoTid;
> }
> /**
> * Udlever Matrikelbetegnelse.
> *
> * @hibernate.component
> */
> public Matrikelbetegnelse getMatrikelbetegnelse() {
> return matrikelbetegnelse;
> }
> public void setMatrikelbetegnelse(Matrikelbetegnelse matrikelbetegnelse) {
> this.matrikelbetegnelse = matrikelbetegnelse;
> }
> }
> import java.io.Serializable;
> /**
> */
> public class Matrikelbetegnelse {
> private Long ejerlavskode ;
> private String matrikelnr ;
> public Matrikelbetegnelse() {
> }
> public Matrikelbetegnelse(Long ejerlavskode, String matrikelnummer) {
> this.ejerlavskode = ejerlavskode;
> this.matrikelnr = matrikelnummer;
> }
> /**
> *
> * @return
> * @hibernate.property
> */
> public Long getEjerlavskode() {
> return ejerlavskode;
> }
> public void setEjerlavskode(Long ejerlavskode) {
> this.ejerlavskode = ejerlavskode;
> }
> /**
> *
> * @return
> * @hibernate.property length="20"
> */
> public String getMatrikelnr() {
> return matrikelnr;
> }
> public void setMatrikelnr(String matrikelnr) {
> this.matrikelnr = matrikelnr;
> }
> public boolean equals(Object o) {
> if (this == o) return true;
> if (!(o instanceof Matrikelbetegnelse)) return false;
> final Matrikelbetegnelse matrikelbetegnelse = (Matrikelbetegnelse) o;
> if (!ejerlavskode.equals(matrikelbetegnelse.ejerlavskode)) return false;
> if (!matrikelnr.equals(matrikelbetegnelse.matrikelnr)) return false;
> return true;
> }
> public int hashCode() {
> int result;
> result = ejerlavskode.hashCode();
> result = 29 * result + matrikelnr.hashCode();
> return result;
> }
> }
> Full stack trace of any exception that occurs:
> No exception, just an empty result.
> Name and version of the database you are using:
> Oracle 10g Enteprise Edition release 10.1.0.2.0
> The generated SQL (show_sql=true):
> Hibernate: select this_.id as id34_0_, this_.datoTid as datoTid34_0_, this_.ejerlavskode as ejerlavs3_34_0_, this_.matrikelnr as matrikelnr34_0_, this_.fk_sag_id as fk5_34_0_, this_.brugerId as brugerId34_0_, this_.tidsstempel as tidsstem7_34_0_, this_.gyldig_fra as gyldig8_34_0_, this_.gyldig_til as gyldig9_34_0_, this_.oprind_id as oprind10_34_0_ from tan.sagsadvarsel this_ where (this_.ejerlavskode, this_.matrikelnr) in ((?, ?), (?, ?))
> Debug level Hibernate log excerpt:
> 14:02:58,631 DEBUG [CID= ] [org.hibernate.jdbc.AbstractBatcher.log(AbstractBatcher.java:346)] select this_.id as id34_1_, this_.version as version34_1_, this_.datoTid as datoTid34_1_, this_.ejerlavskode as ejerlavs4_34_1_, this_.matrikelnr as matrikelnr34_1_, this_.fk_sag_id as fk6_34_1_, this_.brugerId as brugerId34_1_, this_.tidsstempel as tidsstem8_34_1_, this_.gyldig_fra as gyldig9_34_1_, this_.gyldig_til as gyldig10_34_1_, this_.oprind_id as oprind11_34_1_, s1_.id as id15_0_, s1_.version as version15_0_, s1_.sagsId as sagsId15_0_, s1_.symbolskNavn as symbolsk4_15_0_, s1_.kms_journalnummer as kms5_15_0_, s1_.journaliseringsDato as journali6_15_0_, s1_.rekvirentRef as rekviren7_15_0_, s1_.enum_sagskategori as enum8_15_0_, s1_.enum_prioritet as enum9_15_0_, s1_.tidsfrist as tidsfrist15_0_, s1_.saerligAftale as saerlig11_15_0_, s1_.matrikelnr as matrikelnr15_0_, s1_.ejerlavskode as ejerlav13_15_0_, s1_.afventAntalHoeringssvar as afventA14_15_0_, s1_.afventAntalSupplDok as afventA15_15_0_, s1_.maaIkkeSlettes as maaIkke16_15_0_, s1_.erForaeldet as erForae17_15_0_, s1_.brugerId as brugerId15_0_, s1_.tidsstempel as tidsste19_15_0_, s1_.gyldig_fra as gyldig20_15_0_, s1_.gyldig_til as gyldig21_15_0_, s1_.oprind_id as oprind22_15_0_, s1_.fk_aktoer_indsender_id as fk23_15_0_, s1_.fk_aktoer_rekvirent_id as fk24_15_0_, s1_.fk_aktoer_revisor_id as fk25_15_0_, s1_.fk_sagsbehandlerteam_id as fk26_15_0_, s1_.fk_sagspakke_id as fk27_15_0_, s1_.fk_sagsresume_id as fk28_15_0_, s1_.aflysningsmeddelelse as aflysni29_15_0_, s1_.fk_samlesag_id as fk30_15_0_ from tan.sagsadvarsel this_ inner join tan.sag s1_ on this_.fk_sag_id=s1_.id where (this_.ejerlavskode, this_.matrikelnr) in ((?, ?), (?, ?)) and not s1_.sagsId=? order by this_.fk_sag_id asc, this_.ejerlavskode asc, this_.matrikelnr asc
> Hibernate: select this_.id as id34_1_, this_.version as version34_1_, this_.datoTid as datoTid34_1_, this_.ejerlavskode as ejerlavs4_34_1_, this_.matrikelnr as matrikelnr34_1_, this_.fk_sag_id as fk6_34_1_, this_.brugerId as brugerId34_1_, this_.tidsstempel as tidsstem8_34_1_, this_.gyldig_fra as gyldig9_34_1_, this_.gyldig_til as gyldig10_34_1_, this_.oprind_id as oprind11_34_1_, s1_.id as id15_0_, s1_.version as version15_0_, s1_.sagsId as sagsId15_0_, s1_.symbolskNavn as symbolsk4_15_0_, s1_.kms_journalnummer as kms5_15_0_, s1_.journaliseringsDato as journali6_15_0_, s1_.rekvirentRef as rekviren7_15_0_, s1_.enum_sagskategori as enum8_15_0_, s1_.enum_prioritet as enum9_15_0_, s1_.tidsfrist as tidsfrist15_0_, s1_.saerligAftale as saerlig11_15_0_, s1_.matrikelnr as matrikelnr15_0_, s1_.ejerlavskode as ejerlav13_15_0_, s1_.afventAntalHoeringssvar as afventA14_15_0_, s1_.afventAntalSupplDok as afventA15_15_0_, s1_.maaIkkeSlettes as maaIkke16_15_0_, s1_.erForaeldet as erForae17_15_0_, s1_.brugerId as brugerId15_0_, s1_.tidsstempel as tidsste19_15_0_, s1_.gyldig_fra as gyldig20_15_0_, s1_.gyldig_til as gyldig21_15_0_, s1_.oprind_id as oprind22_15_0_, s1_.fk_aktoer_indsender_id as fk23_15_0_, s1_.fk_aktoer_rekvirent_id as fk24_15_0_, s1_.fk_aktoer_revisor_id as fk25_15_0_, s1_.fk_sagsbehandlerteam_id as fk26_15_0_, s1_.fk_sagspakke_id as fk27_15_0_, s1_.fk_sagsresume_id as fk28_15_0_, s1_.aflysningsmeddelelse as aflysni29_15_0_, s1_.fk_samlesag_id as fk30_15_0_ from tan.sagsadvarsel this_ inner join tan.sag s1_ on this_.fk_sag_id=s1_.id where (this_.ejerlavskode, this_.matrikelnr) in ((?, ?), (?, ?)) and not s1_.sagsId=? order by this_.fk_sag_id asc, this_.ejerlavskode asc, this_.matrikelnr asc
> 14:02:58,641 DEBUG [CID= ] [org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:424)] preparing statement
> 14:02:58,641 DEBUG [CID= ] [org.hibernate.type.NullableType.nullSafeSet(NullableType.java:79)] binding '9999' to parameter: 1
> 14:02:58,641 DEBUG [CID= ] [org.hibernate.type.NullableType.nullSafeSet(NullableType.java:79)] binding '9999' to parameter: 2
> 14:02:58,641 DEBUG [CID= ] [org.hibernate.type.NullableType.nullSafeSet(NullableType.java:79)] binding '01' to parameter: 3
> 14:02:58,641 DEBUG [CID= ] [org.hibernate.type.NullableType.nullSafeSet(NullableType.java:79)] binding '03' to parameter: 4
> 14:02:58,701 DEBUG [CID= ] [org.hibernate.jdbc.AbstractBatcher.logOpenResults(AbstractBatcher.java:327)] about to open ResultSet (open ResultSets: 0, globally: 0)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
19 years, 6 months