以下のようにマッピングを書きました。
<hibernate-mapping auto-import="true" default-lazy="false">
<class name="com.saman.entity.hibernate.EmployeeEntity"
table="Employee" optimistic-lock="version">
<id name="id" type="java.lang.Integer" >
<column name="Id" />
<generator class="identity"/>
</id>
<timestamp name="version" source="db"/>
<property name="firstName">
<column name="FirstName" sql-type="nvarchar(300)"/>
</property>
<property name="lastName">
<column name="LastName" sql-type="nvarchar(300)"/>
</property>
<property name="employeeType">
<column name="EmployeeType" sql-type="nvarchar(300)"/>
</property>
<!--
<set name="shifts" table="Shifts" inverse="true" lazy="true" fetch="select">
<key>
<column name="Id" not-null="true"/>
</key>
<one-to-many class="com.saman.entity.hibernate.ShiftEntity"/>
</set>
-->
<properties name="u1" unique="true">
<property name="firstName"/>
<property name="lastName"/>
<property name="employeeType"/>
</properties>
</class>
</hibernate-mapping>
アプリケーションを実行すると、次のようなエラーが発生します。
2012-05-15 17:12:38,651 -- 警告 -- 失敗したスキーマ ステートメント: create table Employee (ID integer not null auto_increment、version datetime not null、FirstName nvarchar(300)、LastName nvarchar(300)、EmployeeType nvarchar(300) )、主キー (Id)、一意 (firstName、lastName、employeeType)) com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 指定されたキーが長すぎます。キーの最大長は 1000 バイトです。 .lang.reflect.Constructor.newInstance(Constructor.java:513) の com.mysql.jdbc.Util.handleNewInstance(Util.java:411) の com.mysql.jdbc.Util。
それの何が問題なのですか?
私はmysqlを使用しており、MAMPで実行しています。