Не пойму, почему лыжи не едут...
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="MyState">
<composite-id>
<key-property name="id" column="ID"/>
<key-property name="fromDate" column="FROMDATE"/>
<key-property name="toDate" column="TODATE"/>
</composite-id>
<loader query-ref="SelectStateByPeriod"/>
</class>
<class name="Me">
<id name="id" column="ID"/>
<many-to-one name="currentState" class="MyState" insert="false" update="false">
<column name="ID"/>
<formula>null</formula>
<formula>null</formula>
</many-to-one>
<loader query-ref="SelectMe"/>
</class>
<sql-query name="SelectMe">
<return class="Me"/>
{ CALL SELECTBYID(:id) }
</sql-query>
<sql-query name="SelectStateByPeriod">
<return class="MyState"/>
{ CALL SELECTMYSTATE(:id, :fromDate, :toDate) }
</sql-query>
</hibernate-mapping>
Hiber.java
1.
30 SessionFactory sessionFactory = conf.buildSessionFactory();
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Initial SessionFactory creation failed.java.lang.NullPointerException
Exception in thread "main" java.lang.ExceptionInInitializerError
at Hiber.main(Hiber.java: 49 )
Caused by: java.lang.NullPointerException
at org.hibernate.loader.DefaultEntityAliases.intern(DefaultEntityAliases.java: 134 )
at org.hibernate.loader.DefaultEntityAliases.getSuffixedPropertyAliases(DefaultEntityAliases.java: 107 )
at org.hibernate.loader.DefaultEntityAliases.<init>(DefaultEntityAliases.java: 52 )
at org.hibernate.loader.ColumnEntityAliases.<init>(ColumnEntityAliases.java: 16 )
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.generateCustomReturns(SQLQueryReturnProcessor.java: 174 )
at org.hibernate.loader.custom.sql.SQLCustomQuery.<init>(SQLCustomQuery.java: 129 )
at org.hibernate.engine.query.NativeSQLQueryPlan.<init>(NativeSQLQueryPlan.java: 47 )
at org.hibernate.engine.query.QueryPlanCache.getNativeSQLQueryPlan(QueryPlanCache.java: 114 )
at org.hibernate.impl.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java: 446 )
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java: 352 )
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java: 1294 )
at Hiber.main(Hiber.java: 30 )
Если кусок из маппинга про many-to-one выкинуть, все работает. Если в этом куске заменить <formula>...</formula> на <column>...</column> все тоже работает.