Eclipse 为何提出“对象"?作为数据类型“文本"的默认映射类型? [英] Why does Eclipse propose "Object" as default mapping type for datatype "Text"?

查看:25
本文介绍了Eclipse 为何提出“对象"?作为数据类型“文本"的默认映射类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当使用 Eclipse(Java EE 开发人员的 Juno 4.2)从表生成 JPA 实体时,它建议将 Object 作为我设置为 Text 的属性的默认映射类型.
这很烦人,因为我必须手动将它们全部设置为 String.
有没有人遇到过这种问题并且知道该怎么做?这是一个错误吗?Eclipse Indigo 不会那样做.

When generating JPA Entities from tables with Eclipse (Juno 4.2 for Java EE Developers) it proposes Object as default mapping type for properties I set to be Text.
That is quite annoying as I would have to set them all to String manually.
Has someone encountered that kind of problem and knows what to do? Is this a bug? Eclipse Indigo does not behave like that.

这是org.eclipse.datatools.enablement.mysql.dbdefinition_1.0.4.v201109022331.jar中的/runtime/vendors/MySql_5.1/MySql_5.1.xmi代码>:(但根据这个文件,Text 应该映射到 String 这一定是错误的文件——但如何找出正确的文件?)

This is the /runtime/vendors/MySql_5.1/MySql_5.1.xmi from org.eclipse.datatools.enablement.mysql.dbdefinition_1.0.4.v201109022331.jar: (But as according to this file Text should be mapped to String this must be the wrong file - but how to find out the right one?)

<?xml version="1.0" encoding="ASCII"?>
<DBDefinition:DatabaseVendorDefinition xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:DBDefinition="http:///org/eclipse/datatools/modelbase/dbdefinition/dbdefinition.ecore" vendor="MySql" version="5.1" maximumIdentifierLength="64" joinSupported="true" tablespacesSupported="false" maximumCommentLength="60" schemaSupported="false" aliasSupported="true" SQLStatementSupported="true">
  <predefinedDataTypeDefinitions xmi:id="BIT_1" keyConstraintSupported="true"
maximumValue="1" minimumValue="0" primitiveType="SMALLINT" jdbcEnumType="-6"
javaClassName="byte">
    <defaultValueTypes>0</defaultValueTypes>
    <name>BIT</name>
    <name>BOOL</name>
    <name>BOOLEAN</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="TINYINT_UNSIGNED"
keyConstraintSupported="true" maximumValue="255" minimumValue="0"
primitiveType="SMALLINT" jdbcEnumType="-6" javaClassName="byte">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>TINYINT UNSIGNED</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="SMALLINT_UNSIGNED"
keyConstraintSupported="true" maximumValue="65535" minimumValue="0"
primitiveType="SMALLINT" jdbcEnumType="5" javaClassName="int">
    <defaultValueTypes>0</defaultValueTypes>
    <name>SMALLINT UNSIGNED</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="MEDIUMINT_UNSIGNED"
keyConstraintSupported="true" maximumValue="16777215" minimumValue="0"
primitiveType="SMALLINT" jdbcEnumType="4" javaClassName="int">
    <defaultValueTypes>0</defaultValueTypes>
    <name>MEDIUMINT UNSIGNED</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="INTEGER_UNSIGNED"
keyConstraintSupported="true" maximumValue="4294967295" minimumValue="0"
primitiveType="INTEGER" jdbcEnumType="4" javaClassName="int">
    <defaultValueTypes>0</defaultValueTypes>
    <name>INTEGER UNSIGNED</name>
    <name>INT UNSIGNED</name>    
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="BIGINT_UNSIGNED"
keyConstraintSupported="true" identitySupported="true" primitiveType="BIGINT"
jdbcEnumType="-5" javaClassName="java.math.BigInteger">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>BIGINT UNSIGNED</name>
    <name>SERIAL</name>    
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="REAL_UNSIGNED"
keyConstraintSupported="true" primitiveType="REAL" jdbcEnumType="7"
javaClassName="float">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>REAL UNSIGNED</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="DOUBLE_UNSIGNED_PRECISION"
keyConstraintSupported="true" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8"
javaClassName="double">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>DOUBLE UNSIGNED</name>
    <name>DOUBLE UNSIGNED PRECISION</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="FLOAT_UNSIGNED"
keyConstraintSupported="true" primitiveType="FLOAT" jdbcEnumType="6"
javaClassName="float">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>FLOAT UNSIGNED</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="DECIMAL_UNSIGNED"
scaleSupported="true" precisionSupported="true" maximumPrecision="64"
keyConstraintSupported="true" primitiveType="DECIMAL" jdbcEnumType="3"
javaClassName="java.math.BigDecimal">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>DECIMAL UNSIGNED</name>
    <name>DEC UNSIGNED</name>
  </predefinedDataTypeDefinitions>
    <predefinedDataTypeDefinitions xmi:id="SMALLINT_2" keyConstraintSupported="true" maximumValue="127" minimumValue="-128" primitiveType="SMALLINT" jdbcEnumType="-6" javaClassName="byte">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>TINYINT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="SMALLINT_1" keyConstraintSupported="true" maximumValue="32767" minimumValue="-32768" primitiveType="SMALLINT" jdbcEnumType="5" javaClassName="short">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>SMALLINT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="INTEGER_2" keyConstraintSupported="true" maximumValue="8388607" minimumValue="-8388608" primitiveType="INTEGER" jdbcEnumType="4" javaClassName="int">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>MEDIUMINT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="INTEGER_1" keyConstraintSupported="true" identitySupported="true" maximumValue="2147483647" minimumValue="-2147483648" primitiveType="INTEGER" jdbcEnumType="4" javaClassName="int">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>INT</name>
    <name>INTEGER</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="BIGINT_1" keyConstraintSupported="true" identitySupported="true" primitiveType="BIGINT" jdbcEnumType="-5" javaClassName="java.math.BigInteger">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>BIGINT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="REAL_1" keyConstraintSupported="true" primitiveType="REAL" jdbcEnumType="7" javaClassName="float">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>REAL</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="DOUBLE_PRECISION_1" keyConstraintSupported="true" primitiveType="DOUBLE_PRECISION" jdbcEnumType="8" javaClassName="double">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>DOUBLE</name>
    <name>DOUBLE PRECISION</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="FLOAT_1" keyConstraintSupported="true" primitiveType="FLOAT" jdbcEnumType="6" javaClassName="float">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>FLOAT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="DECIMAL_1" scaleSupported="true" precisionSupported="true" maximumPrecision="64" keyConstraintSupported="true" primitiveType="DECIMAL" jdbcEnumType="3" javaClassName="java.math.BigDecimal">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>DECIMAL</name>
    <name>DEC</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="NUMERIC_1" scaleSupported="true" precisionSupported="true" maximumPrecision="64" keyConstraintSupported="true" primitiveType="NUMERIC" jdbcEnumType="2" javaClassName="java.math.BigDecimal">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>NUMERIC</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="DATE_1" keyConstraintSupported="true" primitiveType="DATE" jdbcEnumType="91" javaClassName="java.sql.Date">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>DATE</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="TIME_1" keyConstraintSupported="true" primitiveType="TIME" jdbcEnumType="92" javaClassName="java.sql.Time">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>TIME</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_1" keyConstraintSupported="true" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.sql.Timestamp">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>TIMESTAMP</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="TIMESTAMP_2" keyConstraintSupported="true" primitiveType="TIMESTAMP" jdbcEnumType="93" javaClassName="java.util.Date">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>DATETIME</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="CHARACTER_1" lengthSupported="true" keyConstraintSupported="true" maximumLength="255" jdbcEnumType="1" javaClassName="java.lang.String">
    <defaultValueTypes>NULL</defaultValueTypes>
    <defaultValueTypes>CURRENT_USER</defaultValueTypes>
    <name>CHAR</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="CHARACTER_VARYING_1" lengthSupported="true" keyConstraintSupported="true" maximumLength="255" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
    <defaultValueTypes>NULL</defaultValueTypes>
    <defaultValueTypes>CURRENT_USER</defaultValueTypes>
    <name>VARCHAR</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_1" defaultSupported="false" maximumLength="256" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" javaClassName="java.sql.Blob">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>TINYBLOB</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_2" defaultSupported="false" maximumLength="65536" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" javaClassName="java.sql.Blob">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>BLOB</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_3" defaultSupported="false" maximumLength="16777216" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" javaClassName="java.sql.Blob">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>MEDIUMBLOB</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="BINARY_LARGE_OBJECT_4" defaultSupported="false" primitiveType="BINARY_LARGE_OBJECT" jdbcEnumType="2004" javaClassName="java.sql.Blob">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>LONGBLOB</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_1" keyConstraintSupported="true" defaultSupported="false" maximumLength="256" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" javaClassName="java.lang.String">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>TINYTEXT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_2" keyConstraintSupported="true" defaultSupported="false" maximumLength="65536" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" javaClassName="java.lang.String">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>TEXT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_3" keyConstraintSupported="true" defaultSupported="false" maximumLength="16777216" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" javaClassName="java.lang.String">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>MEDIUMTEXT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="CHARACTER_LARGE_OBJECT_4" keyConstraintSupported="true" defaultSupported="false" primitiveType="CHARACTER_LARGE_OBJECT" jdbcEnumType="2005" javaClassName="java.lang.String">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>LONGTEXT</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="ENUM" keyConstraintSupported="false" primitiveType="CHARACTER_VARYING" jdbcEnumType="12" javaClassName="java.lang.String">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>ENUM</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="DATE_2" keyConstraintSupported="true" primitiveType="DATE" jdbcEnumType="91" javaClassName="java.sql.Date">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>YEAR</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="BINARY_1" lengthSupported="true" keyConstraintSupported="true" maximumLength="255" lengthUnit="BYTE" primitiveType="BINARY" jdbcEnumType="-2" javaClassName="byte[]">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>BINARY</name>
  </predefinedDataTypeDefinitions>
  <predefinedDataTypeDefinitions xmi:id="BINARY_VARYING_1" lengthSupported="true" keyConstraintSupported="true" maximumLength="255" primitiveType="BINARY_VARYING" lengthUnit="BYTE" jdbcEnumType="-3" javaClassName="byte[]">
    <defaultValueTypes>NULL</defaultValueTypes>
    <name>VARBINARY</name>
  </predefinedDataTypeDefinitions>
  <storedProcedureDefinition/>
  <triggerDefinition/>
  <columnDefinition maximumIdentifierLength="64" identitySupported="true" identityIncrementSupported="true"/>
  <constraintDefinition clusteredPrimaryKeySupported="true" clusteredUniqueConstraintSupported="true" primaryKeyNullable="true" uniqueKeyNullable="true">
    <parentUpdateDRIRuleType>RESTRICT</parentUpdateDRIRuleType>
    <parentUpdateDRIRuleType>CASCADE</parentUpdateDRIRuleType>
    <parentUpdateDRIRuleType>SET_NULL</parentUpdateDRIRuleType>
    <parentUpdateDRIRuleType>NO_ACTION</parentUpdateDRIRuleType>
    <parentDeleteDRIRuleType>RESTRICT</parentDeleteDRIRuleType>
    <parentDeleteDRIRuleType>CASCADE</parentDeleteDRIRuleType>
    <parentDeleteDRIRuleType>SET_NULL</parentDeleteDRIRuleType>
    <parentDeleteDRIRuleType>NO_ACTION</parentDeleteDRIRuleType>
  </constraintDefinition>
  <indexDefinition maximumIdentifierLength="64"/>
  <tableDefinition maximumIdentifierLength="64"/>
  <udtDefinition/>
  <queryDefinition identifierQuoteString="`" hostVariableMarker="@" hostVariableMarkerSupported="true"/>
  <viewDefinition maximumIdentifierLength="64" checkOptionLevelsSupported="true"/>
  <SQLSyntaxDefinition>
    <keywords>ACCESSIBLE</keywords>
    <keywords>ADD</keywords>
    <keywords>ALGORITHM</keywords>
    <keywords>ALL</keywords>
    <keywords>ALTER</keywords>
    <keywords>ANALYZE</keywords>
    <keywords>AND</keywords>
    <keywords>AS</keywords>
    <keywords>ASC</keywords>
    <keywords>ASENSITIVE</keywords>
    <keywords>BEFORE</keywords>
    <keywords>BETWEEN</keywords>
    <keywords>BIGINT</keywords>
    <keywords>BINARY</keywords>
    <keywords>BLOB</keywords>
    <keywords>BOTH</keywords>
    <keywords>BY</keywords>
    <keywords>CALL</keywords>
    <keywords>CASCADE</keywords>
    <keywords>CASE</keywords>
    <keywords>CHANGE</keywords>
    <keywords>CHAR</keywords>
    <keywords>CHARACTER</keywords>
    <keywords>CHECK</keywords>
    <keywords>CHECKSUM</keywords>
    <keywords>COLLATE</keywords>
    <keywords>COLUMN</keywords>
    <keywords>COMMENT</keywords>
    <keywords>CONDITION</keywords>
    <keywords>CONNECTION</keywords>
    <keywords>CONSTRAINT</keywords>
    <keywords>CONTINUE</keywords>
    <keywords>CONVERT</keywords>
    <keywords>CREATE</keywords>
    <keywords>CROSS</keywords>
    <keywords>CURRENT_DATE</keywords>
    <keywords>CURRENT_TIME</keywords>
    <keywords>CURRENT_TIMESTAMP</keywords>
    <keywords>CURRENT_USER</keywords>
    <keywords>CURSOR</keywords>
    <keywords>DATABASE</keywords>
    <keywords>DATABASES</keywords>
    <keywords>DAY_HOUR</keywords>
    <keywords>DAY_MICROSECOND</keywords>
    <keywords>DAY_MINUTE</keywords>
    <keywords>DAY_SECOND</keywords>
    <keywords>DEC</keywords>
    <keywords>DECIMAL</keywords>
    <keywords>DECLARE</keywords>
    <keywords>DEFAULT</keywords>
    <keywords>DEFINER</keywords>
    <keywords>DELAYED</keywords>
    <keywords>DELETE</keywords>
    <keywords>DESC</keywords>
    <keywords>DESCRIBE</keywords>
    <keywords>DETERMINISTIC</keywords>
    <keywords>DISTINCT</keywords>
    <keywords>DISTINCTROW</keywords>
    <keywords>DIV</keywords>
    <keywords>DOUBLE</keywords>
    <keywords>DROP</keywords>
    <keywords>DUAL</keywords>
    <keywords>EACH</keywords>
    <keywords>ELSE</keywords>
    <keywords>ELSEIF</keywords>
    <keywords>ENCLOSED</keywords>
    <keywords>ESCAPED</keywords>
    <keywords>EXISTS</keywords>
    <keywords>EXIT</keywords>
    <keywords>EXPLAIN</keywords>
    <keywords>FALSE</keywords>
    <keywords>FETCH</keywords>
    <keywords>FLOAT</keywords>
    <keywords>FLOAT4</keywords>
    <keywords>FLOAT8</keywords>
    <keywords>FOR</keywords>
    <keywords>FORCE</keywords>
    <keywords>FOREIGN</keywords>
    <keywords>FROM</keywords>
    <keywords>FULLTEXT</keywords>
    <keywords>GOTO</keywords>
    <keywords>GRANT</keywords>
    <keywords>GROUP</keywords>
    <keywords>HAVING</keywords>
    <keywords>HIGH_PRIORITY</keywords>
    <keywords>HOUR_MICROSECOND</keywords>
    <keywords>HOUR_MINUTE</keywords>
    <keywords>HOUR_SECOND</keywords>
    <keywords>IF</keywords>
    <keywords>IGNORE</keywords>
    <keywords>IN</keywords>
    <keywords>INDEX</keywords>
    <keywords>INFILE</keywords>
    <keywords>INNER</keywords>
    <keywords>INOUT</keywords>
    <keywords>INSENSITIVE</keywords>
    <keywords>INSERT</keywords>
    <keywords>INT</keywords>
    <keywords>INT1</keywords>
    <keywords>INT2</keywords>
    <keywords>INT3</keywords>
    <keywords>INT4</keywords>
    <keywords>INT8</keywords>
    <keywords>INTEGER</keywords>
    <keywords>INTERVAL</keywords>
    <keywords>INTO</keywords>
    <keywords>INVOKER</keywords>
    <keywords>IS</keywords>
    <keywords>ITERATE</keywords>
    <keywords>JOIN</keywords>
    <keywords>KEY_BLOCK_SIZE</keywords>
    <keywords>KEY</keywords>
    <keywords>KEYS</keywords>
    <keywords>KILL</keywords>
    <keywords>LABEL</keywords>
    <keywords>LEADING</keywords>
    <keywords>LEAVE</keywords>
    <keywords>LEFT</keywords>
    <keywords>LIKE</keywords>
    <keywords>LIMIT</keywords>
    <keywords>LINEAR</keywords>
    <keywords>LINES</keywords>
    <keywords>LOAD</keywords>
    <keywords>LOCALTIME</keywords>
    <keywords>LOCALTIMESTAMP</keywords>
    <keywords>LOCK</keywords>
    <keywords>LONG</keywords>
    <keywords>LONGBLOB</keywords>
    <keywords>LONGTEXT</keywords>
    <keywords>LOOP</keywords>
    <keywords>LOW_PRIORITY</keywords>
    <keywords>MASTER_SSL_VERIFY_SERVER_CERT</keywords>
    <keywords>MATCH</keywords>
    <keywords>MAX_ROWS</keywords>
    <keywords>MEDIUMBLOB</keywords>
    <keywords>MEDIUMINT</keywords>
    <keywords>MEDIUMTEXT</keywords>
    <keywords>MERGE</keywords>
    <keywords>MIDDLEINT</keywords>
    <keywords>MIN_ROWS</keywords>
    <keywords>MINUTE_MICROSECOND</keywords>
    <keywords>MINUTE_SECOND</keywords>
    <keywords>MOD</keywords>
    <keywords>MODIFIES</keywords>
    <keywords>NATURAL</keywords>
    <keywords>NO_WRITE_TO_BINLOG</keywords>
    <keywords>NOT</keywords>
    <keywords>NULL</keywords>
    <keywords>NUMERIC</keywords>
    <keywords>ON</keywords>
    <keywords>OPTIMIZE</keywords>
    <keywords>OPTION</keywords>
    <keywords>OPTIONALLY</keywords>
    <keywords>OR</keywords>
    <keywords>ORDER</keywords>
    <keywords>OUT</keywords>
    <keywords>OUTER</keywords>
    <keywords>OUTFILE</keywords>
    <keywords>PRECISION</keywords>
    <keywords>PRIMARY</keywords>
    <keywords>PROCEDURE</keywords>
    <keywords>PURGE</keywords>
    <keywords>RANGE</keywords>
    <keywords>READ</keywords>
    <keywords>READ_ONLY</keywords>
    <keywords>READ_WRITE</keywords>
    <keywords>READ</keywords>
    <keywords>READS</keywords>
    <keywords>REAL</keywords>
    <keywords>REFERENCES</keywords>
    <keywords>REGEXP</keywords>
    <keywords>RELEASE</keywords>
    <keywords>RENAME</keywords>
    <keywords>REPEAT</keywords>
    <keywords>REPLACE</keywords>
    <keywords>REQUIRE</keywords>
    <keywords>RESTRICT</keywords>
    <keywords>RETURN</keywords>
    <keywords>REVOKE</keywords>
    <keywords>RIGHT</keywords>
    <keywords>RLIKE</keywords>
    <keywords>ROW_FORMAT</keywords>
    <keywords>SCHEMA</keywords>
    <keywords>SCHEMAS</keywords>
    <keywords>SECOND_MICROSECOND</keywords>
    <keywords>SELECT</keywords>
    <keywords>SENSITIVE</keywords>
    <keywords>SEPARATOR</keywords>
    <keywords>SET</keywords>
    <keywords>SHOW</keywords>
    <keywords>SMALLINT</keywords>
    <keywords>SONAME</keywords>
    <keywords>SPATIAL</keywords>
    <keywords>SPECIFIC</keywords>
    <keywords>SQL</keywords>
    <keywords>SQL_BIG_RESULT</keywords>
    <keywords>SQL_CALC_FOUND_ROWS</keywords>
    <keywords>SQL_SECURITY</keywords>
    <keywords>SQL_SMALL_RESULT</keywords>
    <keywords>SQL</keywords>
    <keywords>SQLEXCEPTION</keywords>
    <keywords>SQLSTATE</keywords>
    <keywords>SQLWARNING</keywords>
    <keywords>SSL</keywords>
    <keywords>STARTING</keywords>
    <keywords>STRAIGHT_JOIN</keywords>
    <keywords>TABLE</keywords>
    <keywords>TEMPTABLE</keywords>
    <keywords>TERMINATED</keywords>
    <keywords>THEN</keywords>
    <keywords>TINYBLOB</keywords>
    <keywords>TINYINT</keywords>
    <keywords>TINYTEXT</keywords>
    <keywords>TO</keywords>
    <keywords>TRAILING</keywords>
    <keywords>TRIGGER</keywords>
    <keywords>TRUE</keywords>
    <keywords>UNDEFINED</keywords>
    <keywords>UNDO</keywords>
    <keywords>UNION</keywords>
    <keywords>UNIQUE</keywords>
    <keywords>UNLOCK</keywords>
    <keywords>UNSIGNED</keywords>
    <keywords>UPDATE</keywords>
    <keywords>UPGRADE</keywords>
    <keywords>USAGE</keywords>
    <keywords>USE</keywords>
    <keywords>USING</keywords>
    <keywords>UTC_DATE</keywords>
    <keywords>UTC_TIME</keywords>
    <keywords>UTC_TIMESTAMP</keywords>
    <keywords>VALUES</keywords>
    <keywords>VARBINARY</keywords>
    <keywords>VARCHAR</keywords>
    <keywords>VARCHARACTER</keywords>
    <keywords>VARYING</keywords>
    <keywords>WHEN</keywords>
    <keywords>WHERE</keywords>
    <keywords>WHILE</keywords>
    <keywords>WITH</keywords>
    <keywords>WRITE</keywords>
    <keywords>XOR</keywords>
    <keywords>YEAR_MONTH</keywords>
    <keywords>ZEROFILL</keywords>
    <operators>:=</operators>
    <operators>||</operators>
    <operators>OR</operators>
    <operators>XOR</operators>
    <operators>&amp;&amp;</operators>
    <operators>AND</operators>
    <operators>NOT</operators>
    <operators>BETWEEN</operators>
    <operators>CASE</operators>
    <operators>WHEN</operators>
    <operators>THEN</operators>
    <operators>ELSE</operators>
    <operators>=</operators>
    <operators>&lt;=></operators>
    <operators>>=</operators>
    <operators>></operators>
    <operators>&lt;=</operators>
    <operators>&lt;</operators>
    <operators>&lt;></operators>
    <operators>!=</operators>
    <operators>IS</operators>
    <operators>LIKE</operators>
    <operators>REGEXP</operators>
    <operators>IN</operators>
    <operators>|</operators>
    <operators>&amp;</operators>
    <operators>&lt;&lt;</operators>
    <operators>>></operators>
    <operators>-</operators>
    <operators>+</operators>
    <operators>*</operators>
    <operators>/</operators>
    <operators>DIV</operators>
    <operators>%</operators>
    <operators>MOD</operators>
    <operators>^</operators>
    <operators>~</operators>
    <operators>!</operators>
    <operators>BINARY</operators>
    <operators>COLLATE</operators>
  </SQLSyntaxDefinition>
</DBDefinition:DatabaseVendorDefinition>

我的 SQL:

CREATE DATABASE  IF NOT EXISTS `mydb` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `mydb`;
-- MySQL dump 10.13  Distrib 5.5.16, for Win32 (x86)
--
-- Host: localhost    Database: mydb
-- ------------------------------------------------------
-- Server version   5.5.28

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `flour`
--

DROP TABLE IF EXISTS `flour`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `flour` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text,
  `grain_size` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `flour`
--

LOCK TABLES `flour` WRITE;
/*!40000 ALTER TABLE `flour` DISABLE KEYS */;
/*!40000 ALTER TABLE `flour` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `bread`
--

DROP TABLE IF EXISTS `bread`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `bread` (
  `name` text,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `flour_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_bread_flour_idx` (`flour_id`),
  CONSTRAINT `fk_bread_flour` FOREIGN KEY (`flour_id`) REFERENCES `flour` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `bread`
--

LOCK TABLES `bread` WRITE;
/*!40000 ALTER TABLE `bread` DISABLE KEYS */;
/*!40000 ALTER TABLE `bread` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2012-11-13  8:53:50

推荐答案

Dali(Eclipse 中生成 JPA 实体的部分)使用 DTP(Eclipse 的另一部分)来确定特定数据类型的 Java 属性类型.这些映射特定于数据库平台,并在各种 DTP 插件的 .xmi 文件中指定.

Dali (the part of Eclipse that generates JPA entities) uses DTP (another part of Eclipse) to determine the Java attribute type for a particular data type. These mappings are database platform-specific and are specified in .xmi files in various DTP plug-ins.

例如在 Juno 中,对于 PostgreSQL,数据类型 ABSTIME 映射到文件中的 Java 类型 java.lang.Object/runtime/vendors/postgresql/postgresql_8.x.xmi在插件罐中./plugins/org.eclipse.datatools.enablement.postgresql.dbdefinition_1.0.2.v201110070445.jar.

For example, in Juno, for PostgreSQL, the data type ABSTIME is mapped to the Java type java.lang.Object in the file /runtime/vendors/postgresql/postgresql_8.x.xmi in the plug-in jar ./plugins/org.eclipse.datatools.enablement.postgresql.dbdefinition_1.0.2.v201110070445.jar.

根据您的数据库平台和您安装的其他插件,这些设置可能会在 Indigo 和 Juno 之间发生变化.您可以提取适当的 .xmi 文件,对其进行编辑,然后将其返回到其 jar 中,这应该会改变实体的生成方式.

Depending on your database platform and what other plug-ins you have installed, these settings could have changed between Indigo and Juno. You can extract the appropriate .xmi file, edit it, and return it to its jar and this should alter how entities are generated.

这篇关于Eclipse 为何提出“对象"?作为数据类型“文本"的默认映射类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆