gpt4 book ai didi

Java hbm.xml 一列的多个索引

转载 作者:行者123 更新时间:2023-11-30 07:52:46 27 4
gpt4 key购买 nike

例如,

<?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 package="com.sql.index">
<class name="User">
<id name="id" type="long">
<generator class="native" />
</id>
<property name="firstName" type="string" index="IDX_FIRST_NAME" />
<property name="lastName" type="string" />
<property name="address" type="string" />
<property name="field_1" type="long" />
<property name="field_2" type="long" />
</class>
</hibernate-mapping>

如果我想要field_1field_2有2个索引描述。我可以做以下事情吗?或者如何实现?

        <property name="field_1" type="long" index="idx_1,idx_2"/>
<property name="field_2" type="long" index="idx_1,idx_3"/>

field_1field_2 将有 2 个索引。

<小时/>

我指的是hibernate 3.6, 5.1.4.2 Property mapping with hbm.xml ,看起来index字段只能由仅一列分配。

<小时/>

附注,

该项目有点旧,并且由很多人维护,因此我无法使用注释语法来添加index

最佳答案

我找到了post并尝试一下。

<?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 package="com.sql.index">
<class name="User">
<id name="id" type="long">
<generator class="native" />
</id>
<property name="firstName" type="string" index="IDX_FIRST_NAME" />
<property name="lastName" type="string" />
<property name="address" type="string" />
<property name="field_1" type="long" index="idx_2"/>
<property name="field_2" type="long" index="idx_3"/>
</class>
<database-object>
<create>
CREATE INDEX idx_1 ON User (field_1, field_2)
</create>
<drop></drop>
</database-object>
</hibernate-mapping>
<小时/>

这个问题可以通过<database-object>解决,通过编写原生sql语法来创建索引。

<小时/>

更新,2018/11

对于具有多个属性的唯一约束,someone has answered it .

Use properties tag

<properties name="uk1" unique="true">
<property name="username" .../>
<many-to-one name="client" .../>
</properties>

<properties name="uk2" unique="true">
<property name="email" .../>
<many-to-one name="client" update="false" insert="false" .../>
</properties>

关于Java hbm.xml 一列的多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33144400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com