You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "swapnil (Jira)" <ji...@apache.org> on 2021/06/04 13:47:00 UTC
[jira] [Created] (DERBY-7118) Derby with hibernate does not
generate relationship mappings in *hbm.xml
swapnil created DERBY-7118:
------------------------------
Summary: Derby with hibernate does not generate relationship mappings in *hbm.xml
Key: DERBY-7118
URL: https://issues.apache.org/jira/browse/DERBY-7118
Project: Derby
Issue Type: Bug
Components: Miscellaneous
Affects Versions: 10.14.2.0
Environment: Derby 10.14.2.0, in NetBeans IDE 11.3, Hibernate ORM 5.4.31, Debian 10.9.
Reporter: swapnil
Fix For: 10.14.2.0
I'm generating *POJO* from *Derby 10.14.2.0* database in *NetBeans IDE 11.3*, *Hibernate ORM 5.4.31*.
It does not generate any {{relationship-mappings}} in {{hbm.xml}} or in entity classes like {{many-to-one/one-to-one}}).
I've used two tables from Derby sample database.
Product and PurchaseOrder
Product table is referenced in PurchaseOrder.
Table {{PurchaseOrder}} has {{FOREIGN_KEY_PRODUCT_ID.}}
{{}}
*hibernate.cfg*
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.DerbyTenSevenDialect</property>
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
<property name="hibernate.connection.url">jdbc:derby://localhost:1527/sample</property>
<property name="hibernate.connection.username">app</property>
<property name="hibernate.connection.password">app</property>
<mapping resource="com/pojo/Product.hbm.xml"/>
<mapping resource="com/pojo/PurchaseOrder.hbm.xml"/>
</session-factory>
</hibernate-configuration>
{{}}
I also tried defining hibernate properties
{{}}
{{<property name="hibernate.default_catalog">app</property>}}
and
{{}}
{{<property name="hibernate.default_schema">app</property> }}
{{}}
But no, it won't help.
*hibernate.reveng.xml*
*{{<hibernate-reverse-engineering>
<schema-selection match-schema="APP"/>
<table-filter match-name="PRODUCT"/>
<table-filter match-name="PURCHASE_ORDER"/>
</hibernate-reverse-engineering>}}*
*{{}}*
*PurchaseOrder.hbm.xml*
*{{}}*
*{{}}*
{code:java}
{code}
*{{<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.pojo.PurchaseOrder" table="PURCHASE_ORDER" schema="APP" optimistic-lock="version"> <id name="orderNum" type="int"> <column name="ORDER_NUM" /> <generator class="assigned" /> </id> <property name="customerId" type="int"> <column name="CUSTOMER_ID" not-null="true" /> </property> <property name="productId" type="int"> <column name="PRODUCT_ID" not-null="true" /> </property> <property name="quantity" type="java.lang.Short"> <column name="QUANTITY" /> </property> <property name="shippingCost" type="big_decimal"> <column name="SHIPPING_COST" precision="12" /> </property> <property name="salesDate" type="date"> <column name="SALES_DATE" length="10" /> </property> <property name="shippingDate" type="date"> <column name="SHIPPING_DATE" length="10" /> </property> <property name="freightCompany" type="string"> <column name="FREIGHT_COMPANY" length="30" /> </property> </class> </hibernate-mapping>}}* *{{}}*
*{{}}*
In above *{{PurchaseOrder.hbm.xml}}* file, {{relationship mapping}} should be generated but you can see it is *missing*.
*Expecting*
Wizard should generate mapping relationship like many-to-one/one-to-one) in *{{PurchaseOrder.hbm.xml}}* **
But why {{relationship mapping}} doesn't generating?
*With MySQL it is working fine.*
Doesn't Hibernate support Derby properly?
What is solution?
*{{}}*
This issue already reported here [https://bz.apache.org/netbeans/show_bug.cgi?id=223543] 9 years ago.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)