java - 将 Hibernate Entity 类从 HBM 文件转换为 Annotation 类
问题描述
InstrumentImpl.hbm.xml
<hibernate-mapping>
<class name="com.test.model.impl.InstrumentImpl" table="TEST_INSTRUMENT" discriminator-value="instrument" lazy="false" batch-size="20">
<cache usage="read-write"/>
<id name="longId" type="long" column="T05_ID">
<generator class="sequence">
<param name="sequence">TEST_SEQ</param>
</generator>
</id>
<discriminator column="T05_INSTRUMENT_TYPE" type="string" length="10" />
<property name="instrument">
<column name="T05_INSTRUMENT" length="50" index="I05_INSTRUMENT"/>
</property>
<property name="instrumentName" column="T05_INSTRUMENT_NAME" length="100" />
<many-to-one name="mandant" lazy="proxy" class="com.test.model.impl.MandantImpl">
<column name="FK_T05_T09_MANDANT" sql-type="VARCHAR2(3)"/>
</many-to-one>
<property name="enabled" type="yes_no" column="T05_ENABLED"/>
<set name="dualControlJobs" inverse="true" lazy="true" cascade="save-update" batch-size="20">
<key column="FK_T16_T05_INSTRUMENT_OBJECT" />
<one-to-many class="com.test.model.impl.DualControlJobImpl" />
</set>
<subclass name="com.test.model.impl.PriceCheckInstrumentImpl" discriminator-value="pricecheck" lazy="false" batch-size="20">
<many-to-one name="priceCheckCategory" column="FK_T05_T11_PRICE_CHECK" class="com.test.model.impl.PriceCheckCategoryImpl"/>
</subclass>
</class>
</hibernate-mapping>
InstrumentImpl.java
import java.util.Set;
public class InstrumentImpl extends EntityImpl {
private String instrument;
private String instrumentName;
private boolean enabled = true;
private Set<DualControlJobImpl> dualControlJobs;
public InstrumentImpl() {
}
public InstrumentImpl(String instrument) {
this.instrument = instrument;
}
@Override
public Long getLongId() {
return super.getLongId();
}
public String getInstrument() {
return instrument;
}
public void setInstrument(String instrument) {
this.instrument = instrument;
}
public String getInstrumentName() {
return instrumentName;
}
public void setInstrumentName(String instrumentName) {
this.instrumentName = instrumentName;
}
public Set<DualControlJobImpl> getDualControlJobs() {
return dualControlJobs;
}
public void setDualControlJobs(Set<DualControlJobImpl> set) {
dualControlJobs = set;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public boolean getEnabled() {
return enabled;
}
}
我正在将我的应用程序从 Hibernate 3.x 转换为 Hibernate 5.x 版本,并将所有基于 hibernate xml 的类转换为基于注释的实体类。
如何将这个典型的 HBM 文件转换为基于 hibernate 注释的实体类?
解决方案
推荐阅读
- next.js - 下一个 i18next 生产重定向错误
- apache-kafka - 如果我使用persistentKeyValueStore,Kafka Streams 会停止,但可以与 inMemoryKeyValueStore 一起正常工作(在 Docker 容器中运行)
- c# - IdentityServer4 API 未经授权调用自省端点
- javascript - 使用 javascript 和 vuejs 创建树
- android - Room - “预打包的数据库具有无效架构” - 随机要求列为 notNull
- javascript - 如何在 ES6 中绑定对象?
- python - 从可迭代中获取 2 元组的可迭代
- html - 不明白我的图像下的空间,我的 css 中没有什么可以改变它?
- javascript - 如何将 JS SDK 集成到 ReactJS 中?
- amazon-web-services - 如何在 AWS CDK 中检索 SecretsManager 密钥