2017-03-09 7 views
0

Hybrisプロジェクトでは、新規「カスタム」エンティティitems.xml(GenericItemから拡張)に作成しました。 結局のところアリ初期化アリクリーン、すべてのテーブルが完全に生成されますが、オプションユニークな修飾子指定された属性には影響しません。 私items.xmlにの抜粋:私のデータベースで属性の修飾子はitems.xmlのデータベースには影響しませんが、それはなぜですか?

<attribute qualifier="someQualifier" type="java.lang.Long"> 
    <description>some desctiontion</description> 
    <persistence type="property"/> 
    <modifiers optional="false" unique="true"/> 
</attribute> 

(MySQLとHSQLでテスト)オプションとユニークなラベル属性がまだ(偽=ユニーク、真= NULL可能)デフォルト値を持っています。 ここで何が問題になりますか?

+0

HYBRISは、SAP関連会社であるように思われます。たぶん、あなたはHibernateまたは別のORMを意味します。 – RubioRic

+0

私は、SAP関連のフレームワークとしてHybrisを意味します。 – sz3nt

+0

私の間違い。 – RubioRic

答えて

3

これらの修飾子は、対応するValidateInterceptorであり、テーブル構造ではありません。 が列定義の使用を指定するには:

<persistence type="property"> 
     <columntype database="mysql"> 
      <value>int(11) not null</value> 
     </columntype> 
     .... 
    </persistence> 

があなたた項目タイプに独自の追加インデックス定義を作成するには

<indexes> 
     <index name="someQualifierIDX" unique="true"> 
      <key attribute="someQualifier"/> 
     </index> 
    <indexes> 
+0

ありがとう!指定された属性を一意または非nullにするために、items.xml(または他の場所から)のテーブル構造を初期化するために可能な解決法はありますか? – sz3nt

+1

更新された以前の回答を参照してください。 – xl0e

関連する問題